【问题标题】:Add two json values dynamically in azure data factory在 Azure 数据工厂中动态添加两个 json 值
【发布时间】:2021-09-05 21:29:40
【问题描述】:

我需要在数据工厂中添加两个动态来自一个活动的 json 值和一个管道的变量值。

我正在这样做,如下所示。 @union(activity('获取订单事件数据').output, json('{"orig_orderID" : "variables('orderid')"}'))

但它显示错误。 参数之间缺少逗号

我在这里做错了什么。

【问题讨论】:

  • 你能提供你Get Order Events Data活动输出的截图吗?
  • 我无法附加它。这里是示例输出数据。 {“数据”:[{“id”:145,“order_id”:256,“created_at”:“2021-06-20T11:48:20Z”,“类型”:10,“发件人”:-1,“消息“:null,“previous_status”:4,“fas_user_id”:null,“event_data”:“5”,“shopkeeper_timestamp”:null,“store_id”:123,
  • 所以你想得到这个输出?{"data":[ { "id": 145, "order_id": 256, "created_at": "2021-06-20T11:48:20Z", "type": 10, "sender": -1, "message": null, "previous_status": 4, "fas_user_id": null, "event_data": "5", "shopkeeper_timestamp": null, "store_id": 123,"orig_orderID":your variable's value}]}
  • 是的,我想将此变量值添加到其他活动的数据中。 orig_orderID 的值" = "860"

标签: azure-data-factory-2 azure-data-factory-pipeline


【解决方案1】:

但它显示错误。参数之间缺少逗号

这是表达式variables('orderid') 中包含',它会拆分您的表达式。

您应该使用concat() 函数来执行此操作@union(activity('Get Order Events Data').output, json(concat('{"orig_orderID" :',variables('orderid'),'}')))。但是这个 表达式无法获得您的预期结果,因为它不会添加到您的数据中。应该是这样的:

    {
        "data": [
            {
                "id": 145,
                "order_id": 256,
                "created_at": "2021-06-20T11:48:20Z",
                "type": 10,
                "sender": -1,
                "message": null,
                "previous_status": 4,
                "fas_user_id": null,
                "event_data": "5",
                "shopkeeper_timestamp": null,
                "store_id": 123
            }
        ],
        "orig_orderID": "860"
    }

你可以试试下面的表达式:@union(activity('Get Order Events Data').output.data[0], json(concat('{"orig_orderID" :',variables('orderid'),'}')))

可以得到结果:

    {
        "id": 145,
        "order_id": 256,
        "created_at": "2021-06-20T11:48:20Z",
        "type": 10,
        "sender": -1,
        "message": null,
        "previous_status": 4,
        "fas_user_id": null,
        "event_data": "5",
        "shopkeeper_timestamp": null,
        "store_id": 123,
        "orig_orderID": "860"
    }

【讨论】:

  • 嗨史蒂夫..我需要在网络活动的 api 正文中编写整个表达式。当我实现这个表达式时,我得到了这个警告。类型表达式:'Array[Any]' 与字段不匹配:'body'
  • @shashankshekhar 忽略此警告。它可以在我身边工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 2019-08-12
  • 2019-12-24
  • 2021-03-15
  • 2020-11-25
  • 2021-11-24
  • 1970-01-01
相关资源
最近更新 更多