将Azure APIM最低API版本设为2021-08-01导致逻辑应用部署/保存失败
解决APIM最低apiVersion限制导致的逻辑应用部署/保存错误
问题根源
当APIM设置最低apiVersion为2021-08-01后,逻辑应用中的APIM连接器默认使用的旧版api版本不再被APIM允许,从而触发报错。
解决方案
1. 修改ARM模板
(1)升级逻辑应用资源的apiVersion
将ARM模板中Microsoft.Logic/workflows的apiVersion从2017-07-01升级到2019-05-01及以上版本,比如2022-09-01:
{ "type": "Microsoft.Logic/workflows", "apiVersion": "2022-09-01", // 替换为更高版本 "name": "[parameters('logicAppName')]", "location": "eastus", "tags": "[parameters('resourceTags')]", "properties": { // ... 其他配置 } }
(2)指定APIM连接器动作的apiVersion
在逻辑应用的definition中,找到调用APIM的动作节点,添加或修改apiVersion参数为APIM允许的版本(比如2021-08-01):
"actions": { "Call_APIM_API": { "type": "ApiConnection", "inputs": { "host": { "connection": { "name": "@parameters('$connections')['apimanagement']['connectionId']" } }, "method": "GET", "path": "/your-api-path", "apiVersion": "2021-08-01" // 必须是APIM允许的版本 } } }
2. Azure门户操作
(1)新建逻辑应用
- 创建逻辑应用时选择**消耗型(Consumption)或标准型(Standard)**运行时,避免使用旧版逻辑应用(比如已淘汰的逻辑应用(经典))。
- 添加APIM连接器后,在动作配置界面,找到
apiVersion选项,选择APIM允许的版本(如2021-08-01)。
(2)修改现有逻辑应用
- 进入逻辑应用设计器,编辑调用APIM的动作。
- 在动作的输入参数中,手动添加
apiVersion字段并设置为符合要求的值,或者在高级选项中选择对应版本。 - 保存逻辑应用,验证是否报错。
3. 额外检查
- 确认APIM的全局策略或API级策略没有额外限制api版本的规则,避免和最低版本设置冲突。
- 确保逻辑应用与APIM处于同一区域,部分跨区域场景可能存在api版本同步延迟。
内容的提问来源于stack exchange,提问作者user1370897
相关产品推荐
相关产品推荐

