在ARM模板中,如果部署资源时出现错误消息“ARM模板部署资源命名空间未找到”,可能是因为指定的命名空间不存在或拼写错误。以下是解决方法的代码示例:
"resources": [
{
"type": "Microsoft.EventGrid/topics",
"apiVersion": "2021-06-01",
"name": "[parameters('topicName')]",
"location": "[parameters('location')]",
"properties": {
"sku": {
"name": "Basic"
},
"inputSchema": "EventGridSchema"
}
},
{
"type": "Microsoft.EventGrid/topics/providers/roleAssignments",
"apiVersion": "2021-06-01",
"name": "[concat(parameters('topicName'), '/Microsoft.Authorization/', guid(resourceGroup().id), '/RoleAssignment1')]",
"dependsOn": [
"[resourceId('Microsoft.EventGrid/topics', parameters('topicName'))]"
],
"properties": {
"roleDefinitionId": "[parameters('roleDefinitionId')]",
"principalId": "[parameters('principalId')]"
}
}
]
在此示例中,首先创建了一个事件网格主题。然后,为主题创建了一个角色分配。确保在参数或变量中正确指定了命名空间的名称。
"resources": [
{
"type": "Microsoft.ServiceBus/namespaces",
"apiVersion": "2021-06-01",
"name": "[parameters('namespaceName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {}
},
{
"type": "Microsoft.ServiceBus/namespaces/queues",
"apiVersion": "2021-06-01",
"name": "[concat(parameters('namespaceName'), '/', parameters('queueName'))]",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces', parameters('namespaceName'))]"
],
"properties": {}
}
]
在此示例中,首先创建了一个服务总线命名空间。然后,为命名空间创建了一个队列。确保在参数或变量中正确指定了命名空间的名称。
通过检查命名空间是否存在和正确拼写,可以解决“ARM模板部署资源命名空间未找到”的问题。