azure - ARM 模板为存储容器类型的数组抛出不正确的段长度
问题描述
Template validation failed: The template resource 'reports' for type 'Microsoft.WindowsAzure.ResourceStack.Frontdoor.Common.Entities.TemplateGenericProperty`1[System.String]' at line '34' and column '79' has incorrect segment lengths. A nested resource type must have identical number of segments as its resource name. A root resource type must have segment length one greater than its resource name. Please see https://aka.ms/arm-template/#resources for usage details.
当我让 ARM 从参数文件中的数组创建容器时,我得到了。
问题行:"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
这是我的 ARMtemplate
文件。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName": {
"type": "string",
"metadata": {
"description": "The name of the storage account"
}
},
"storageContaners": {
"type": "string",
"metadata": {
"description": "The name of the blob containers"
}
}
},
"functions": [],
"variables": {
},
"resources": [
{
"name": "[parameters('storageAccountName')]",
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-04-01",
"location": "[resourceGroup().location]",
"kind": "StorageV2",
"sku": {
"name": "Standard_LRS",
"tier": "Standard"
}
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2021-04-01",
"name": "[parameters('storageContaners')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
],
"properties": {
"publicAccess": "Blob"
}
}
],
"outputs": {}
}
这是我的 ARMparameters
文件。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName": {
"value": "mystorageaccount"
},
"storageContaners": {
"value": "reports"
}
}
}
我曾尝试更改name
为不同的类型,但没有运气。
有人可以帮我找出原因吗?
解决方案
嵌套资源下的参数name
必须比.
这里有4 个级别(由 3 分隔)。所以必须有3 个级别(由 2 分隔)。
这适用于在父资源下具有嵌套资源的情况。type
type
/
name
/
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"name": "[concat(parameters('storageAccountName'), '/default/', parameters('storageContaners')]",
推荐阅读
- swagger - 如何在 openapi 3.0 中定义引用组件的必需属性?
- r - 在 R 中绘制多个物种积累曲线
- python - 使用systemd在启动时运行.py文件后如何通过SSH访问Raspberrypi?
- r - 在 drc::drm() 中使用限制约束计算 IC50 的最佳方法
- javascript - Three.js:使用点从高度图采样
- docker - 有谁知道如何将 docker 容器指向 ngrok?
- reactjs - React-js 项目部署失败。“服务”未被识别为内部或外部命令
- html - 任何适用指令均未提供 FormControl
- generics - 使用 IMediator .Net Core 2 注入通用命令处理程序时出错
- html - 包含多个重叠 div 的匹配容器