我有一个逻辑应用程序(标准)逻辑应用程序),使一个调用cosmos DB。我需要存储"连接运行时url"。在逻辑应用程序的配置下。
当我从逻辑应用程序设计器创建连接时,该连接具有此属性。但是,当我使用ARM模板部署相同的连接时,该连接没有此属性。
有人知道如何获得这个属性或生成它吗?如果可能的话,如何在ARM模板中调用它
感谢只有kind: 'V2'
的API连接才能返回connectionRuntimeUrl
。
您可以使用下面的脚本(bicep)创建cosmos db连接器:
param location string = resourceGroup().location
param cosmosDbAccountName string = 'thomastestcosmos'
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@2018-07-01-preview' = {
name: connectorName
location: location
kind: 'V2'
properties: {
displayName: connectorName
parameterValues: {
databaseAccount: cosmosDbAccount.name
accessKey: cosmosDbAccount.listKeys().primaryMasterKey
}
api: {
id: subscriptionResourceId('Microsoft.Web/locations/managedApis', location, 'documentdb')
}
}
}
output connectionRuntimeUrl string = cosmosDbConnector.properties.connectionRuntimeUrl
url将是生成的ARM的输出然后你可以把这个url设置为工作流应用程序中的应用设置:
COSMOS_CONNECTION_RUNTIMEURL: <connectionRuntimeUrl>
然后在connections.json
文件中,你可以引用这个应用程序设置:
{
"managedApiConnections": {
"documentdb": {
...
"connectionRuntimeUrl": "@appsetting('COSMOS_CONNECTION_RUNTIMEURL')"
}
}
}
使用appsettings和参数应该会使部署变得更容易
根据这个讨论,一个简单的API连接(V1)可能没有" connectionruntimeurl "。因此,为了能够看到它,我需要添加
"kind": "V2",
在我的连接模板中,也是@Thomas在他的回答中写的