Azure Arm模板-请求中发现错误的JSON内容
我试图使用Arm模板将访问策略添加到KeyVault,但收到一个错误“在请求中发现错误的JSON内容” 细节: 内部错误: 代码:BADDREQUEST 信息: 错误: 代码:BADDREQUEST 消息:请求中发现错误的JSON内容 我不明白我使用的模板有什么问题 这是我正在使用的模板:Azure Arm模板-请求中发现错误的JSON内容,azure,deployment,arm-template,Azure,Deployment,Arm Template,我试图使用Arm模板将访问策略添加到KeyVault,但收到一个错误“在请求中发现错误的JSON内容” 细节: 内部错误: 代码:BADDREQUEST 信息: 错误: 代码:BADDREQUEST 消息:请求中发现错误的JSON内容 我不明白我使用的模板有什么问题 这是我正在使用的模板: { "contentVersion": "1.0.0.0", "$schema": "http://s
{
"contentVersion": "1.0.0.0",
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"parameters": {
"keyVault": {
"type": "string"
},
"resourceGroup": {
"type": "string"
},
"subscriptionId": {
"type": "string"
},
"tenantId": {
"type": "string"
},
"objectId": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(take(deployment().name, 50))]",
"apiVersion": "2017-05-10",
"resourceGroup": "[parameters('resourceGroup')]",
"subscriptionId": "[parameters('subscriptionId')]",
"type": "Microsoft.Resources/deployments",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.KeyVault/vaults/accessPolicies",
"name": "[concat(parameters('keyVault'), '/add')]",
"apiVersion": "2018-02-14",
"properties": {
"accessPolicies": [
{
"tenantId": "[parameters('tenantId')]",
"objectId": "[parameters('objectId')]",
"permissions": {
"keys": [
"get",
"list"
],
"secrets": [
"get",
"list"
],
"certificates": [
"get",
"list"
]
}
}
]
}
}
]
}
}
}
]
}
如果您只想向现有Azure Key Vault添加一些访问策略,我修改了您的模板,如下所示:
{
"contentVersion": "1.0.0.0",
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"parameters": {
"keyVault": {
"type": "string"
},
"tenantId": {
"type": "string"
},
"objectId": {
"type": "string"
}
},
"resources": [{
"type": "Microsoft.KeyVault/vaults/accessPolicies",
"name": "[concat(parameters('keyVault'), '/add')]",
"apiVersion": "2018-02-14",
"properties": {
"accessPolicies": [{
"tenantId": "[parameters('tenantId')]",
"objectId": "[parameters('objectId')]",
"permissions": {
"keys": [
"get",
"list"
],
"secrets": [
"get",
"list"
],
"certificates": [
"get",
"list"
]
}
}
]
}
}
]
}
我已经在PowerShell旁进行了测试,它可以正常工作。
结果:
如果您只想向现有Azure Key Vault添加一些访问策略,我修改了您的模板,如下所示:
{
"contentVersion": "1.0.0.0",
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"parameters": {
"keyVault": {
"type": "string"
},
"tenantId": {
"type": "string"
},
"objectId": {
"type": "string"
}
},
"resources": [{
"type": "Microsoft.KeyVault/vaults/accessPolicies",
"name": "[concat(parameters('keyVault'), '/add')]",
"apiVersion": "2018-02-14",
"properties": {
"accessPolicies": [{
"tenantId": "[parameters('tenantId')]",
"objectId": "[parameters('objectId')]",
"permissions": {
"keys": [
"get",
"list"
],
"secrets": [
"get",
"list"
],
"certificates": [
"get",
"list"
]
}
}
]
}
}
]
}
我已经在PowerShell旁进行了测试,它可以正常工作。
结果:
问题中的代码缺少一个
{
作为第一个字符。其余字符看起来没问题。我确实有{作为第一个字符,但我遇到了这个错误。是的,这看起来很好,除非你将一些垃圾传递给参数Show going?问题解决了吗?是的,谢谢!问题中的代码缺少一个{
作为第一个字符。其余字符看起来没问题。我确实有{作为第一个字符,但我收到了这个错误。是的,这看起来很好,除非你向parametersHow传递一些垃圾。你的问题解决了吗?是的,谢谢!