Azure resource manager 如何获取存储容器的resourceId?
以下内容摘自ARM模板。它创建了一个存储容器。它是有效的,但也存在一些问题Azure resource manager 如何获取存储容器的resourceId?,azure-resource-manager,Azure Resource Manager,以下内容摘自ARM模板。它创建了一个存储容器。它是有效的,但也存在一些问题 { "type": "Microsoft.Storage/storageAccounts/blobServices/containers", "apiVersion": "2019-06-01", "name": "[variables('***')]", "
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2019-06-01",
"name": "[variables('***')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices', variables('***'), 'default')]",
"[resourceId('Microsoft.Storage/storageAccounts', variables('***'))]"
],
"properties": {
"publicAccess": "None"
}
}
我的问题是如何获取存储容器的resourceId?我需要一个输出值,但所有构建输出值的尝试都导致发布管道失败,并伴随以下消息(或根据提供的参数略有变化):
以下是输出值的最新版本:
"containerABC": {
"type": "object",
"value": "[resourceId('Microsoft.Storage/storageAccounts/blobServices', variables('***'), 'default', variables('***'))]"
}
如果您要删除Azure blob存储容器的资源id,请使用以下表达式
[resourceId('Microsoft.Storage/storageAccounts/blobServices/containers', <'storageAccountName'>, 'default', <'storageContainerName'>)]
部署脚本
Connect-AzAccount
New-AzResourceGroupDeployment -ResourceGroupName <> -TemplateFile E:\test.json
连接AzaAccount
新AzResourceGroupDeployment-ResourceGroupName-TemplateFile E:\test.json
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName": {
"type": "string",
"defaultValue": "",
"metadata": {
"description": "The name of the storage account."
}
},
"storageContainerName": {
"type": "string",
"defaultValue": "test",
"metadata": {
"description": "The name of the blob storage container."
}
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"name": "[parameters('storageAccountName')]",
"location": "eastasia",
"sku": {
"name": "Standard_LRS",
"tier": "Standard"
},
"kind": "Storage",
"properties": {
"networkAcls": {
"bypass": "AzureServices",
"virtualNetworkRules": [],
"ipRules": [],
"defaultAction": "Allow"
},
"supportsHttpsTrafficOnly": true,
"encryption": {
"services": {
"file": {
"keyType": "Account",
"enabled": true
},
"blob": {
"keyType": "Account",
"enabled": true
}
},
"keySource": "Microsoft.Storage"
}
}
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices",
"apiVersion": "2019-06-01",
"name": "[concat(parameters('storageAccountName'), '/default')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
],
"sku": {
"name": "Standard_LRS",
"tier": "Standard"
},
"properties": {
"cors": {
"corsRules": []
},
"deleteRetentionPolicy": {
"enabled": false
}
}
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2019-06-01",
"name": "[concat(parameters('storageAccountName'), '/default/',parameters('storageContainerName'))]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices', parameters('storageAccountName'), 'default')]",
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
],
"properties": {
"publicAccess": "None"
}
}
],
"outputs": {
"containerABC": {
"type": "string",
"value":"[resourceId('Microsoft.Storage/storageAccounts/blobServices/containers', parameters('storageAccountName'), 'default', parameters('storageContainerName'))]"
}
}
}
Connect-AzAccount
New-AzResourceGroupDeployment -ResourceGroupName <> -TemplateFile E:\test.json