使用连接运行时 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 在他的回答中所写
我有一个调用 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 在他的回答中所写