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

Create Azure Connection API with Connection Runtime Url

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

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

有人知道如何获得或生成这个 属性 吗?如果可能,稍后如何在 ARM 模板中调用它

谢谢

只有 kind: 'V2' 的 API 连接可以 return 一个 connectionRuntimeUrl

您可以使用以下脚本 (bicep) 创建一个 cosmos 数据库连接器:

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')"
    }
  }
}

使用应用程序设置和参数应该会使部署更容易

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

            "kind": "V2",

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