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

基于Blob存储的Azure函数触发器不适用于存储资源管理器/模拟器

东郭思远
2023-03-14

我需要编写一个 azure 函数来压缩在 azure blob 存储中上传的任何文件。

使用此连接字符串

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;DefaultEndpointsProtocol=http;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet"
  }
}

它抛出以下错误

[2022-05-26T21:44:56.133Z] An unhandled exception has occurred. Host is shutting down.
[2022-05-26T21:44:56.138Z] Azure.Storage.Blobs: The value for one of the HTTP headers is not in the correct format.
RequestId:4ddeb612-680e-40f0-8d62-ac754fe791e7
Time:2022-05-26T21:44:55.988Z
[2022-05-26T21:44:56.141Z] Status: 400 (The value for one of the HTTP headers is not in the correct format.)

它与Azure存储帐户连接字符串配合良好。我在本地仿真器中遗漏了什么?

共有1个答案

姜兴业
2023-03-14

对于本地模拟器,您实际上不需要“连接字符串”。您可以将AzureWebJobStorage设置为“UseDevelopmentStorage=true”。这是我的local.settings.json的样子-

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet"
    }
}

参考:使用Azure模拟器进行本地Azure存储开发

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

  • 您好,我正在创建一个新的blob触发的azure函数,我想了解函数头中“Connection=”参数的作用: 我所做的是完全删除该参数,在我将其部署到我的azure订阅后,它就可以正常工作了。因此,我想知道如果我没有使用连接参数指定任何特定帐户,该函数如何确定要使用哪个存储帐户。 这就是我部署函数的方式:

  • 我有一个 Python Azure Functions 计时器触发器,每天运行一次,并将文件从通用 v2 热存储容器存档到通用 v2 冷存储容器。我正在使用Linux消费计划。代码如下所示: 在过去的几个月里,这种方法一直正常工作,没有出现任何问题,但是在过去的两天里,我在存档过程的中途看到了这个错误:< br> 除此之外,没有其他有意义的错误消息。如果我通过UI手动调用该函数,它将成功地归档其余

  • 我正在调查可用于 Azure 存储的 Webhook/事件触发器。不幸的是,文档似乎专注于演示如何让 Azure 门户为我构建函数,这不允许进行本地测试。 特别是,我正在研究捕获已删除 Blob 的时间。 我的使用示例(Azure函数): 当我从存储容器中删除一个blob时,问题出现了:函数没有被触发。 然而,我发现,如果我在控制台中点击<code>CTRL C</code>则该函数被触发。 有人

  • 我正在处理一个Azure存储项目,其中我需要在容器中上传和下载blob,并在列表框中列出容器和blob。我无法在我的列表框中显示容器和blob。 最后是我调用上传、下载和列表方法的接口背后的代码: