我正在使用 ARM 模板进行逻辑应用程序部署,在下面的部分中我尝试创建与 NSG 和 vnet 嵌套的资源组。
Nsg 和 vnet 部分工作正常,但当我添加资源组部分部署失败并出现以下错误 -
未找到与请求 URI 匹配的 HTTP 资源
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "[concat(parameters('nsgName'), '-nsg')]",
"comments": "Nested deployment to create Network Security Groups",
"resourceGroup": "[parameters('nsgResourceGroupName')]",
"dependsOn": [],
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2021-04-01",
"name": "mydemo",
"location": "[parameters('nsgResourceLocation')]",
"properties": {}
},
{
"apiVersion": "2020-05-01",
"type": "Microsoft.Network/networkSecurityGroups",
"name": "[parameters('nsgName')]",
"location": "[parameters('nsgResourceLocation')]",
"properties": {
},
"tags": {
"resourceType": "LogicApps Network Security Groups",
"clusterName": "Standard Logic Apps"
}
},
{
"apiVersion": "2020-05-01",
"type": "Microsoft.Network/virtualNetworks",
"name": "[parameters('vnetName')]",
"location": "[parameters('vnetLocation')]",
"dependsOn": [
],
"properties": {
"addressSpace": {
"addressPrefixes": [
"[variables('addressPrefix')]"
]
},
},
"tags": {
"resourceType": "Logic Apps",
"logicAppNames": "Standard Logic Apps"
}
}
]
}
}
}
]
}
添加资源组创建部分时开始出现问题 -
即
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2021-04-01",
"name": "mydemo",
"location": "[parameters('nsgResourceLocation')]",
"properties": {}
}
您收到错误的原因
No HTTP resource was found that matches the request URI
是您尝试在另一个资源组“nsgResourceGroupName”内创建一个资源组“mydemo”,这是不受支持的。
要创建资源组,请使用架构
https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#
。下面是一个例子供您参考。
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"rgName": {
"type": "string",
"metadata": {
"description": "Name of the resource group to create."
}
},
"rgLocation": {
"type": "string",
"defaultValue": "[deployment().location]",
"metadata": {
"description": "Azure Region the resource group will be created in."
}
}
},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2022-09-01",
"name": "[parameters('rgName')]",
"location": "[parameters('rgLocation')]"
}
]
}
使用
AzureResourceManagerTemplateDeployment@3
任务部署您的 ARM 模板。确保将 deploymentScope
设置为 Subscription
。
- task: AzureResourceManagerTemplateDeployment@3
inputs:
deploymentScope: 'Subscription'
azureResourceManagerConnection: '{SC}'
subscriptionId: '{Sub ID}'
location: '{Deployment location}'
templateLocation: 'Linked artifact'
csmFile: '$(Build.SourcesDirectory)/template.json'
overrideParameters: '-rgName zyrg '
deploymentMode: 'Incremental'
并非所有资源类型都可以部署到订阅级别。请从支持的资源查看支持的资源类型。