创建Azure连接API及ARM template部署缺失Connection Runtime Url问题咨询
Standard Logic App ARM部署Cosmos DB连接缺失Connection Runtime Url解决方案
一、Connection Runtime Url的获取/生成方式
有两种可用方式,优先推荐第一种动态获取的方案:
- 部署后通过Azure Portal直接获取:进入已部署的Cosmos DB API连接资源,左侧导航栏选择「属性」,即可直接复制对应
connectionRuntimeUrl值 - 手动构造:规则如下,替换尖括号内的实际参数即可
https://<连接所在Azure区域>.managedconnectors.azure.net/runtime?api-version=2018-08-01-preview&connectionId=/subscriptions/<你的订阅ID>/resourceGroups/<资源组名称>/providers/Microsoft.Web/connections/<Cosmos连接名称>
二、ARM模板中直接调用该属性的方法
不需要提前手动获取值,可直接在ARM模板中通过reference()函数动态引用已部署的API连接属性,无需硬编码,示例如下:
场景1:同模板部署API连接和Logic App,将值写入Logic App配置项
只需在Logic App的appSettings配置段添加对应条目,同时添加对API连接的部署依赖即可:
{ "type": "Microsoft.Web/sites", "apiVersion": "2021-02-01", "name": "[parameters('logicAppName')]", "location": "[parameters('location')]", "kind": "functionapp,workflowapp", "properties": { "siteConfig": { "appSettings": [ // 其他原有配置项 { "name": "COSMOS_CONNECTION_RUNTIME_URL", "value": "[reference(resourceId('Microsoft.Web/connections', parameters('cosmosConnectionName')), '2016-06-01').connectionRuntimeUrl]" } ] } }, "dependsOn": [ "[resourceId('Microsoft.Web/connections', parameters('cosmosConnectionName'))]" ] }
场景2:部署API连接后直接输出该属性
可在ARM模板的outputs段添加配置,部署完成后直接返回属性值:
"outputs": { "cosmosConnectionRuntimeUrl": { "type": "string", "value": "[reference(resourceId('Microsoft.Web/connections', parameters('cosmosConnectionName')), '2016-06-01').connectionRuntimeUrl]" } }
注意事项
- 确保API连接的API版本不低于
2016-06-01,否则可能无法正常读取该属性 - 跨模板引用时需确保API连接已部署完成,再执行Logic App的部署
内容的提问来源于stack exchange,提问作者ibda
相关产品推荐
相关产品推荐

