通过Terraform设置用于天蓝色存储的cors规则

时间:2019-03-11 21:36:54

标签: azure terraform azure-cli

我一直在网上寻找,但似乎找不到通过terraform设置cors规则的方法。

我不认为它在Terraform中受支持。

可以通过az cli设置CORS规则:

azure storage cors set --blob static 
--cors "[{\"AllowedOrigins\":\"*\",\"AllowedMethods\":\"GET\",\"MaxAgeInSeconds\":\"86400\",\"AllowedHeaders\":\"*\",\"ExposedHeaders\":\"*\"}]"
-a "account-name" -k "account-key" --verbose

我可以从terraform中掏出来打电话吗,还是可以将它们绑在一起?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我认为您不能使用Terraform(proof)来做到这一点。您可以使用上述模板中的ARM模板,也可以通过预配器在Terraform中使用脚本资源来完成此任务(就像您提到的那样,Azure CLI)。

示例ARM模板:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2015-06-15",
      "name": "[concat('storage', uniqueString(resourceGroup().id))]",
      "location": "[resourceGroup().location]",
      "properties": {
        "accountType": "Standard_LRS",
        "cors": {
          "allowedHeaders": [ "*" ],
          "allowedMethods": [ "get", "post", "put" ],
          "allowedOrigins": [ "*" ],
          "exposedHeaders": [ "*" ],
          "maximumAge": 5
        },
        "val": "123"
      }
    }
  ]
}