当前位置: 首页 > 知识库问答 >
问题:

Azure函数无法获取blob容器

龙才俊
2023-03-14

我有函数应用,它连接到blob,读取文件内容并将内容发布到API。该函数在Visual Studio的调试中完美运行。我遇到的问题是,部署时无法从 Azure 工作。我得到的错误是:

Exception while executing function: MyFunctionManager

问题Id:系统。MYFUNCTION处的ArgumentNullException。FA . file manager . blob container manager . getcloudblob container

它似乎无法连接并找到 Blob 存储。在代码中,我使用 local.settings.json 中设置的连接字符串获取容器:

     public static CloudBlobContainer GetCloudBlobContainer(string blobContainer)
    {
        CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
            App.Settings.AzureFileStorageConnectionString);
        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
        CloudBlobContainer container = blobClient.GetContainerReference(blobContainer);
        container.CreateIfNotExistsAsync();
        return container;
    }

感谢任何帮助

谢谢

共有1个答案

利永年
2023-03-14

local.settings。json文件仅用于本地开发。

在Azure上运行时,请确保您的应用程序设置具有key < code > AzureFileStorageConnectionString 和存储帐户连接字符串的值。

您也必须对容器名称执行相同的操作,因为您提到您是从应用程序设置中获取它的。

 类似资料:
  • 我正在使用 Blob 触发器 Azure 函数来获取 Blob 文件数据,只要任何文件上传到容器。 使用上述方法,我能够获取上传的项目的URL。目前,上述代码是使用 Azure 提供的“在门户中开发”选项生成的。 是否有一种方法可以获取已上传的Blob文件的SAS URL?

  • 我有一个Azure函数,每当图像上传到Azure存储帐户中的容器时就会触发该函数。我读流并做一些动作。 我还想获取触发函数的blob的uri,但我如何做到这一点?我必须使用额外的输入/输出吗?

  • 我正在尝试从Azure函数访问存储帐户。但是在尝试检索文件时收到403错误。我看不出为什么会出现此错误有任何问题。 让我解释一下设置。 1-Azure function app位于美国东部2-Azure blob位于中南部3-Azure blob启用了防火墙(我已启用Azure服务可以访问)4-我还将function app的IP列入了白名单。(properties virtual IP)5-Az

  • 我想利用AZURE Function应用程序从AZURE BLOB存储中读取XLSX文件。该函数应由REST API调用来调用。我可以访问blob并下载文件,但我很难用pandas直接读取文件内容。我找了几个小时,但是找不到解决办法。我的最新方法是这样的: 在MS homepage*上,有一个从blob下载文件并随后进行处理的例子,但由于我使用的是功能应用程序,如果我没有遗漏任何内容,那么首先下载

  • 我正在尝试使用 azure 函数读取 azure blob 内容。 容器名称始终相同,Blob名称由触发该函数的队列消息传递。 当我运行此函数时,函数超时(超过5分钟)。 带有blob名称的队列消息是正确的并显示出来,blob只包含一个长json,大约是292kb。 我尝试在创建新blob时直接触发该函数,但它返回了一个带有流的对象,您知道任何方法使该流可读吗? 使用上面的代码,我可以正确获取bl

  • Azure函数存储帐户Blob容器触发器 在我们的一个用例中,我正在为具有以下条件的存储帐户容器中的任何活动寻找Azure函数触发器 < li >具有特定命名约定的容器(名称如xxxx-input) < li >它应该自动检测是否创建了新的容器(具有特定的命名约定) < li>