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

时间:2018-03-21 11:47:37

标签: azure azure-storage azure-storage-blobs azure-logic-apps

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

enter image description here

我收到以下错误:

"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"
    }

stackoverflow question建议将容器名称放在blob名称

enter image description here

但如果我这样做,我会收到相同的错误消息:(也是/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

1 个答案:

答案 0 :(得分:1)

我之前已经参与其中,你有几个选择:

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