我一直在网上寻找,但似乎找不到通过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中掏出来打电话吗,还是可以将它们绑在一起?
答案 0 :(得分:0)
您可以使用资源模板并将其与Terraform一起应用。
Configure CORS by using Azure Resource Manager template
https://www.terraform.io/docs/providers/azurerm/r/template_deployment.html
答案 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"
}
}
]
}