2

我有一个调用 cosmos DB的逻辑应用程序(标准逻辑应用程序)。我需要将“连接运行时 URL”存储在逻辑 App 的配置下。

当我从逻辑应用设计器创建连接时,连接具有此属性。但是,当我使用 ARM 模板部署相同的连接时,该连接没有此属性。

任何人都知道如何获得此属性或生成它?如果可能的话,稍后如何在 ARM 模板中调用它

谢谢

4

2 回答 2

2

根据这个讨论,简单的 API 连接 (V1) 可能没有“connectionRuntimeUrl”。所以,为了能够看到它,我需要添加

            "kind": "V2",

在我的连接模板中,也正如@Thomas 在他的回答中所写

于 2021-08-19T06:53:20.913 回答
0

只有 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 和参数应该使事情更容易部署

于 2021-08-19T04:02:14.607 回答