在 Azure 逻辑应用程序中读取触发器 body 的部分内容

Reading parts of the trigger body in Azure Logic App

我有一个逻辑应用程序,它由服务总线订阅上的新消息触发。该消息是 json object,如下所示:

{
    "PublisherName": "XXX",
    "PublisherKey": "XXX",
    "Identifier": "XXX",
    "Value": {
        // ...
    }
}

如何使用发布者键作为 header、标识符作为查询参数、值作为 body 来发出 http 请求?

尝试以下方法

"httpAction": {
    "type": "Http",
    "inputs": {
        "body": "@triggerBody().Value",
        "method": "POST",
        "uri": "http://endpoint.com",
        "queries": {
          "Identifier": "@triggerBody().Identifier"
        }
        "headers": {
          "PublisherKey": "@triggerBody().PublisherKey"
        }
    }
}

通常,来自订阅的服务总线消息将被 base64 编码。

在代码视图中尝试以下操作:

        "queries": {
          "Identifier": "@json(base64ToString(triggerBody()?['ContentData'])).Identifier"
        }
        "headers": {
          "PublisherKey": "@json(base64ToString(triggerBody()?['ContentData'])).PublisherKey"
        }