无法使用Terraform在Blob容器内创建文件夹

时间:2020-07-10 22:00:37

标签: azure terraform azure-storage azure-storage-blobs terraform-provider-azure

我正在尝试使用terraform在Azure中的Blob存储容器中创建一个文件夹,但失败如下。有什么解决办法可以做到这一点?只是为了实现文件夹创建,请在空白存储容器中创建一个空文件夹或一个具有虚拟文件的文件夹。

provider "azurerm" {
  features {}
  version  = ">=1.31"
  }
  
  resource "azurerm_storage_blob" "test" {
  name                   = "test/1.txt              "
  storage_account_name   = azurerm_storage_account.azstg-rg.name
  storage_container_name = azurerm_storage_container.stor-cont.name
  type                   = "Block"
  source                 = "./1.txt"

}

该脚本执行成功,但是我无法查看该文件夹并且认为该文件夹没有成功。

Error Message

1 个答案:

答案 0 :(得分:0)

this中,请注意

使用Azure门户访问Blob或队列数据时,该门户 在后台向Azure存储发出请求。向Azure的请求 可以使用您的 Azure AD帐户存储帐户访问密钥。门户网站指示您使用的是哪种方法 使用,并且如果您有 适当的权限。

在这种情况下,您可以在查看文件夹时选中the current authentication method。如果要使用Azure AD帐户进行身份验证,则需要grant RBAC roles for blobs到已登录的用户。另外,请确保您没有在存储帐户级别设置任何network_rules来限制此请求。

修改

我可以使用以下代码重现此错误。默认情况下,当登录用户已经具有对订阅的贡献者角色访问权限时,您将使用存储帐户访问密钥身份验证来访问Blob。

您可以通过单击容器名称右侧的change access level选择container(anonymous read access for containers and blobs)...。然后刷新您的Web浏览器并重新检查您的数据Blob。然后,您可以将change access level改回private。如果无法在用户界面中执行此操作,请尝试将authentication method更改为使用Azure AD account,完成上述操作后,再将其更改为使用access key

enter image description here