使用连接运行时URL创建Azure连接API

smtd7mpg  于 2023-06-30  发布在  其他
关注(0)|答案(2)|浏览(113)

我有一个逻辑应用程序(一个标准逻辑应用程序),可以调用cosmos DB。我需要在逻辑应用程序的配置下存储“连接运行时URL”。
当我从逻辑应用程序设计器创建连接时,连接具有此属性。但是,当我使用ARM模板部署相同的连接时,连接没有此属性。
有谁知道如何获得或生成这个属性?如果可能的话,稍后如何在ARM模板中调用它
谢谢

wbrvyc0a

wbrvyc0a1#

只有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和parameters应该会使部署变得更容易

rqqzpn5f

rqqzpn5f2#

根据this discussion,简单API连接(V1)可能不具有“connectionRuntimeUrl”。为了能看到它我需要加上

"kind": "V2",

在我的连接模板,也作为@托马斯写在他的回答

相关问题