使用二头肌在逻辑应用程序中创建 Azure 队列操作导致 'Connector not Found'
Creating an Azure Queue action in a Logic App with bicep results in 'Connector not Found'
我尝试使用 Azure 队列操作创建逻辑应用程序。我想使用 API 连接资源连接到存储帐户。不过
API 连接资源和逻辑应用程序本身的部署没有错误,但部署后操作找不到 API 连接并且操作不起作用。
当我在门户中手动创建操作时部署后它有效。
逻辑应用中动作的二头肌部分:
'Put_a_message_on_a_queue_(V2)' : {
runafter: {}
type: 'ApiConnection'
inputs: {
body: 'start'
host: {
connection: {
name: azureQueueConnectionId
}
}
method: 'post'
path: '/v2/storageAccounts/${storageAccountName}/queues/dailymaintenance/messages'
}
}
API 连接:
resource logicAppConnection 'Microsoft.Web/connections@2016-06-01' = {
name: name
location: resourceLocation
properties: {
displayName: 'connect-to-${externalResourceName}'
parameterValues: {
storageaccount: storageAccountReference.name
sharedkey: storageAccountReference.listKeys().keys[0].value
}
api: {
name: 'azurequeues'
displayName: 'Azure Queues'
description: 'Azure Queue storage provides cloud messaging between application components. Queue storage also supports managing asynchronous tasks and building process work flows.'
iconUri: 'https://connectoricons-prod.azureedge.net/releases/v1.0.1546/1.0.1546.2665/azurequeues/icon.png'
brandColor: '#0072C6'
id: '${subscription().id}/providers/Microsoft.Web/locations/${resourceLocation}/managedApis/azurequeues'
type: 'Microsoft.Web/locations/managedApis'
}
testLinks: [
{
requestUri: '${environment().resourceManager}/subscriptions/${subscription().id}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Web/connections/${name}/extensions/proxy/testConnection?api-version=2016-06-01'
method: 'get'
}
]
}
}
output id string = logicAppConnection.id
这是我在逻辑应用程序设计器中遇到的错误:“找不到连接器”
我想知道为什么这没有按预期工作,是否有人已经设法用二头肌做到了?
提前致谢
AFAIK,据信,如果您部署模板,将创建两个 API 连接,但您必须通过添加服务凭据手动更新逻辑应用程序中的连接.这是因为,为了完成 API 连接,您必须提供同意,而模板中没有此内容。
此脚本将为 OAuth 逻辑应用程序连接器 连接检索许可 link。然后会打开同意link,完成授权,允许建立连接
更多信息请参考此blog|BICEP-Create API connections for Logic Apps & Deploy Logic Apps & API Connection with ARM
事实证明 API 连接名称 必须如下设置才能使此工作
actions: {
'Put_a_message_on_a_queue_(V2)' : {
runafter: {}
type: 'ApiConnection'
inputs: {
body: 'start'
host: {
connection: {
name: '@parameters(\'$connections\')[\'azurequeues\'][\'connectionId\']'
}
}
method: 'post'
path: '/v2/storageAccounts/${storageAccountName}/queues/dailymaintenance/messages'
}
}
}
}
parameters: {
'$connections': {
value: {
azurequeues: {
connectionId: logicAppConnection.id
connectionName: 'LogicAppConnection'
id: '/subscriptions/xxxxxxxxxxx/providers/Microsoft.Web/locations/westeurope/managedApis/azurequeues'
}
}
}
}
我部署后,它成功了!
我尝试使用 Azure 队列操作创建逻辑应用程序。我想使用 API 连接资源连接到存储帐户。不过
API 连接资源和逻辑应用程序本身的部署没有错误,但部署后操作找不到 API 连接并且操作不起作用。
当我在门户中手动创建操作时部署后它有效。
逻辑应用中动作的二头肌部分:
'Put_a_message_on_a_queue_(V2)' : {
runafter: {}
type: 'ApiConnection'
inputs: {
body: 'start'
host: {
connection: {
name: azureQueueConnectionId
}
}
method: 'post'
path: '/v2/storageAccounts/${storageAccountName}/queues/dailymaintenance/messages'
}
}
API 连接:
resource logicAppConnection 'Microsoft.Web/connections@2016-06-01' = {
name: name
location: resourceLocation
properties: {
displayName: 'connect-to-${externalResourceName}'
parameterValues: {
storageaccount: storageAccountReference.name
sharedkey: storageAccountReference.listKeys().keys[0].value
}
api: {
name: 'azurequeues'
displayName: 'Azure Queues'
description: 'Azure Queue storage provides cloud messaging between application components. Queue storage also supports managing asynchronous tasks and building process work flows.'
iconUri: 'https://connectoricons-prod.azureedge.net/releases/v1.0.1546/1.0.1546.2665/azurequeues/icon.png'
brandColor: '#0072C6'
id: '${subscription().id}/providers/Microsoft.Web/locations/${resourceLocation}/managedApis/azurequeues'
type: 'Microsoft.Web/locations/managedApis'
}
testLinks: [
{
requestUri: '${environment().resourceManager}/subscriptions/${subscription().id}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Web/connections/${name}/extensions/proxy/testConnection?api-version=2016-06-01'
method: 'get'
}
]
}
}
output id string = logicAppConnection.id
这是我在逻辑应用程序设计器中遇到的错误:“找不到连接器”
我想知道为什么这没有按预期工作,是否有人已经设法用二头肌做到了?
提前致谢
AFAIK,据信,如果您部署模板,将创建两个 API 连接,但您必须通过添加服务凭据手动更新逻辑应用程序中的连接.这是因为,为了完成 API 连接,您必须提供同意,而模板中没有此内容。
此脚本将为 OAuth 逻辑应用程序连接器 连接检索许可 link。然后会打开同意link,完成授权,允许建立连接
更多信息请参考此blog|BICEP-Create API connections for Logic Apps & Deploy Logic Apps & API Connection with ARM
事实证明 API 连接名称 必须如下设置才能使此工作
actions: {
'Put_a_message_on_a_queue_(V2)' : {
runafter: {}
type: 'ApiConnection'
inputs: {
body: 'start'
host: {
connection: {
name: '@parameters(\'$connections\')[\'azurequeues\'][\'connectionId\']'
}
}
method: 'post'
path: '/v2/storageAccounts/${storageAccountName}/queues/dailymaintenance/messages'
}
}
}
}
parameters: {
'$connections': {
value: {
azurequeues: {
connectionId: logicAppConnection.id
connectionName: 'LogicAppConnection'
id: '/subscriptions/xxxxxxxxxxx/providers/Microsoft.Web/locations/westeurope/managedApis/azurequeues'
}
}
}
}
我部署后,它成功了!