我有一个调用 cosmos DB的逻辑应用程序(标准逻辑应用程序)。我需要将“连接运行时 URL”存储在逻辑 App 的配置下。
当我从逻辑应用设计器创建连接时,连接具有此属性。但是,当我使用 ARM 模板部署相同的连接时,该连接没有此属性。
任何人都知道如何获得此属性或生成它?如果可能的话,稍后如何在 ARM 模板中调用它
谢谢
我有一个调用 cosmos DB的逻辑应用程序(标准逻辑应用程序)。我需要将“连接运行时 URL”存储在逻辑 App 的配置下。
当我从逻辑应用设计器创建连接时,连接具有此属性。但是,当我使用 ARM 模板部署相同的连接时,该连接没有此属性。
任何人都知道如何获得此属性或生成它?如果可能的话,稍后如何在 ARM 模板中调用它
谢谢
根据这个讨论,简单的 API 连接 (V1) 可能没有“connectionRuntimeUrl”。所以,为了能够看到它,我需要添加
"kind": "V2",
在我的连接模板中,也正如@Thomas 在他的回答中所写
只有 API 连接kind: 'V2'
才能返回connectionRuntimeUrl
.
您可以使用以下脚本 (bicep) 创建一个 cosmos db 连接器:
param location string = resourceGroup().location
param cosmosDbAccountName string
param connectorName string = '${cosmosDbAccountName}-connector'
// get a reference to the cosmos db account
resource cosmosDbAccount 'Microsoft.DocumentDB/databaseAccounts@2021-06-15' existing = {
name: cosmosDbAccountName
}
// create the related connection api
resource cosmosDbConnector 'Microsoft.Web/connections@2016-06-01' = {
name: connectorName
location: location
kind: 'V2'
properties: {
displayName: connectorName
parameterValues: {
databaseAccount: cosmosDbAccount.name
accessKey: listKeys(cosmosDbAccount.id, cosmosDbAccount.apiVersion).primaryMasterKey
}
api: {
id: 'subscriptions/${subscription().subscriptionId}/providers/Microsoft.Web/locations/${location}/managedApis/documentdb'
}
}
}
output connectionRuntimeUrl string = reference(cosmosDbConnector.id, cosmosDbConnector.apiVersion, 'full').properties.connectionRuntimeUrl
该 url 将是生成的 ARM 的输出然后您可以将此 url 设置为工作流应用程序中的应用程序设置:
COSMOS_CONNECTION_RUNTIMEURL: <connectionRuntimeUrl>
然后在connections.json
文件中,您可以引用此应用设置:
{
"managedApiConnections": {
"documentdb": {
...
"connectionRuntimeUrl": "@appsetting('COSMOS_CONNECTION_RUNTIMEURL')"
}
}
}
使用 appsettings 和参数应该使事情更容易部署