使用二头肌在逻辑应用程序中创建 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'
      }
    }
  }
}

我部署后,它成功了!