Azure 使用ARM模板部署API管理服务及其API时出现问题
我正在尝试使用ARM模板部署一个Azure API管理服务及其相关API。这里的目标是能够使用API管理服务的关联API及其所有设置轻松地提供新的API管理服务实例,但能够使用参数更改后端url。为此,我使用Azure门户导出了一个模板,并根据需要将其更改为,以便能够作为参数传入后端url。但是,我遇到了几个问题: 模板部署返回了以下错误: 更新:评论帮助我解决了这个问题。请立即忽略此错误 最初的路线是:Azure 使用ARM模板部署API管理服务及其API时出现问题,azure,api,azure-devops,azure-api-management,arm-template,Azure,Api,Azure Devops,Azure Api Management,Arm Template,我正在尝试使用ARM模板部署一个Azure API管理服务及其相关API。这里的目标是能够使用API管理服务的关联API及其所有设置轻松地提供新的API管理服务实例,但能够使用参数更改后端url。为此,我使用Azure门户导出了一个模板,并根据需要将其更改为,以便能够作为参数传入后端url。但是,我遇到了几个问题: 模板部署返回了以下错误: 更新:评论帮助我解决了这个问题。请立即忽略此错误 最初的路线是: "scope": "[concat(resourceId('Microso
"scope": "[concat(resourceId('Microsoft.ApiManagement/master', parameters('service_testAPITalha_name')), '/')]",
我改为:
"scope": "[concat(resourceId('Microsoft.ApiManagement/apis', parameters('service_testAPITalha_name')), '/')]",
这也没有解决问题
错误:订阅作用域应为“/API”、“/API/{APID}”和“/products/{productId}”中的一个
{
"type": "Microsoft.ApiManagement/service/subscriptions",
"apiVersion": "2019-01-01",
"name": "[concat(parameters('service_testAPITalha_name'), '/master')]",
"dependsOn": [
"[resourceId('Microsoft.ApiManagement/service', parameters('service_testAPITalha_name'))]"
],
//Changed from master to apis
"properties": {
"scope": "[concat(resourceId('Microsoft.ApiManagement/apis', parameters('service_testAPITalha_name')), '/')]",
"displayName": "Built-in all-access subscription",
"state": "active",
"primaryKey": "a4a0311b7af34f8fad57cdf8e06723fb",
"secondaryKey": "3bfb52667eb443a0a430e298b402da03",
"allowTracing": true
}
}
错误:MethodNotAllowed:无法修改具有内置角色的用户的属性
{
"type": "Microsoft.ApiManagement/service/users",
"apiVersion": "2019-01-01",
"name": "[concat(parameters('service_testAPITalha_name'), '/1')]",
"dependsOn": [
"[resourceId('Microsoft.ApiManagement/service', parameters('service_testAPITalha_name'))]"
],
"properties": {
"firstName": "Administrator",
"email": "xxx@hotmail.com",
"state": "active",
"identities": [
{
"provider": "Azure",
"id": "xxx@hotmail.com"
}
],
"lastName": "[parameters('users_1_lastName')]"
}
}
我取出的电子邮件是Azure帐户注册的主要电子邮件
如果我删除这段代码,我会遇到更多关于找不到资源的失败,因此我相信我的ARM模板中存在对这段特定代码/资源的依赖
这里的最终目标是能够使用ARM模板轻松地从开发到测试再到登台再到生产,并使API管理服务和它的API保持完整,并且只需更改后端URL即可。我相信我就快到了,只要试着调试这个脚本,任何帮助都将不胜感激 找到了此资源,这将很有帮助: 试一试
找到此资源,这将很有帮助: 试一试
我遇到了同样的问题,但问题已经解决了。 很可能,您已经基于“导出模板”功能生成了ARM模板 这将生成两个“默认”订阅和一个默认用户管理员。 删除这三个选项,您的模板就可以正常运行了。 管理员的“入门”和“无限”订阅总是在没有ARM模板说明的情况下创建的 因此,请删除Microsoft.ApiManagement/service/users部分,其中包括:
"[concat(parameters('service_testAPITalha_name'), '/1')]"
以及包含以下内容的两个订阅部分:
"ownerId": "[resourceId('Microsoft.ApiManagement/service/users', parameters('service_testAPITalha_name'), '1')]",
"scope": "[resourceId('Microsoft.ApiManagement/service/products', parameters('service_testAPITalha_name'), 'starter')]
以及:
我遇到了同样的问题,但问题已经解决了。 很可能,您已经基于“导出模板”功能生成了ARM模板 这将生成两个“默认”订阅和一个默认用户管理员。 删除这三个选项,您的模板就可以正常运行了。 管理员的“入门”和“无限”订阅总是在没有ARM模板说明的情况下创建的 因此,请删除Microsoft.ApiManagement/service/users部分,其中包括:
"[concat(parameters('service_testAPITalha_name'), '/1')]"
以及包含以下内容的两个订阅部分:
"ownerId": "[resourceId('Microsoft.ApiManagement/service/users', parameters('service_testAPITalha_name'), '1')]",
"scope": "[resourceId('Microsoft.ApiManagement/service/products', parameters('service_testAPITalha_name'), 'starter')]
以及:
非常感谢。这修复了其中一个错误,但现在我得到了这个错误:17:42:12-模板部署返回了以下错误:17:42:12-5:41:50 PM-Resource Microsoft.apimagement/service/groups/users'testAPITalha-latest/administrators/1'失败,消息为{17:42:12-错误:{17:42:12-代码:MethodNotAllowed,17:42:12-消息:无法更改系统组成员身份,17:42:12-详细信息:null 17:42:12-}17:42:12-}'请查看更新后的帖子以查看仍需修复的错误。感谢您的帮助您可能需要删除标识参数并添加确认:invite param。请参阅此处和此处,这似乎不起作用:09:53:36-9:53:13 AM-ResSource Microsoft.ApiManagement/service/subscriptions“testAPITalha-latest/master”失败,消息为“{09:53:36-错误:{09:53:36-代码:ValidationError,09:53:36-消息:一个或多个字段包含不正确的值:,09:53:36-详细信息:[09:53:36-{09:53:36-代码:ValidationError,09:53:36-目标:作用域,09:53:36-消息:无法修改全局订阅09:53:36-9:53:18 AM-Resource Microsoft.ApiManagement/service/groups/users'testAPITalha-latest/developers/1'失败,消息为{09:53:36-错误:{09:53:36-代码:MethodNotAllowed,09:53:36-消息:无法更改系统组成员身份,09:53:36-详细信息:null 09:53:36-}09:53:36-}'谢谢!修复了其中一个错误,但现在我收到了此错误:17:42:12-模板部署返回以下错误:17:42:12-5:41:50 PM-Resource Microsoft.apimagement/service/groups/users'testAPITalha-latest/administrators/1'失败,并显示消息'{17:42:12-错误:{17:42:12-代码:MethodNotAllowed,17:42:12-消息:无法更改系统组成员身份,17:42:12-详细信息:null 17:42:12-}17:42:12-}'请查看
更新post以查看有待修复的错误。感谢您的帮助您可能需要删除Identifications参数并添加确认:invite param。请看此处,此处似乎不起作用:09:53:36-9:53:13 AM-Resource Microsoft.apimagement/service/subscriptions“testAPITalha-latest/master”失败,并显示消息“{09:53:36-错误:{09:53:36-代码:ValidationError,09:53:36-消息:一个或多个字段包含不正确的值:,09:53:36-详细信息:[09:53:36-{09:53:36-代码:ValidationError,09:53:36-目标:作用域,09:53:36-消息:无法修改全局订阅09:53:36-9:53:18 AM-Resource Microsoft.ApiManagement/service/groups/users'testAPITalha-latest/developers/1'失败,消息为{09:53:36-错误:{09:53:36-代码:MethodNotAllowed,09:53:36-消息:无法更改系统组成员身份,09:53:36-详细信息:null 09:53:36-}09:53:36-}'
"ownerId": "[resourceId('Microsoft.ApiManagement/service/users', parameters('service_testAPITalha_name'), '1')]",
"scope": "[resourceId('Microsoft.ApiManagement/service/products', parameters('service_testAPITalha_name'), 'unlimited')]