如何在不存在的容器中保存 Blob

How to save a Blob in a not existing container

我正在开发一个 Logic App,它每分钟安排一次并创建一个包含日志数据的存储 blob。我的问题是我必须手动为 blob 创建一个容器才能让它工作。如果我在一个不存在的容器中创建 blob

我收到以下错误:

"body": {
        "status": 404,
        "message": "Specified container tmp does not exist.\r\nclientRequestId: 1111111-2222222-3333-00000-4444444444",
        "source": "azureblob-we.azconn-we.p.azurewebsites.net"
    }

建议将容器名称放在 blob 名称中

但如果我这样做,我会收到相同的错误消息:(也有 /tmp/log1.txt

{
  "status": 404,
  "message": "Specified container tmp does not exist.\r\nclientRequestId: 1234-8998989-a93e-d87940249da8",
  "source": "azureblob-we.azconn-we.p.azurewebsites.net"
}

所以你可能会说这没什么大不了的,但我必须使用 ARM 模板多次部署这个 Logic App 并且不可能在存储帐户中创建容器 (see this link).

我真的需要手动创建容器或编写额外的 azure function to check if the container exists 吗?

我之前有运行,你有几个选择:

  • 您在 ARM 模板之后编写 运行 的内容来配置容器。如果您通过 VSTS 发布管理进行配置,这就足够简单了,您只需添加另一个步骤。
  • 您从 ARM 模板转移到 PowerShell 中进行配置,您可以在其中创建容器。 See New-AzureStorageContainer.