azure 为以下条件创建一个datafactory管道,而不使用datafactory活动

nkcskrwz  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(98)

我在Azure数据库中有一个数据,我需要创建一个管道,将其设置为下面给出的所需格式,并将其加载到数据库中(在我的情况下,目标是一个API),而不使用XML转换。
输入文本文件示例:
| BannerNumber| StoreGroupNumber| StoreGroupName|产品编号|MemberName|商店编号|
| --|--|--|--|--|--|
| 21 | 83 |SD| 225 |SD2|第五、十、二十、三十、四十、四十一、四十二、四十三、四十四、九十三条|
在SD 2之后,剩余的所有都是Storenumbers列值。
需要的json输出:

{
  "BannerNumber": "21",
  "StoreGroupNumber": "83",
  "StoreGroupName": "SD",
  "StoreGroupMembers": [
    {
      "MemberId": "225",
      "MemberLabel": "SD2",
      "StoreNumbers": [
        {
          "StoreId": "5"
        },
        {
          "StoreId": "10"
        },
        {
          "StoreId": "20"
        },
        {
          "StoreId": "30"
        },
        {
          "StoreId": "40"
        },
        {
          "StoreId": "41"
        },
        {
          "StoreId": "42"
        },
        {
          "StoreId": "43"
        },
        {
          "StoreId": "44"
        },
        {
          "StoreId": "93"
        }
      ],
      "MemberAddedOn": "2023-10-23 14:09:29.0430000" <-- Needs to be todays date
    }
  ]
}

字符串
与dashlow我已经做了,但根据要求,他们需要它不使用dashlow
请帮我这个…

hsvhsicv

hsvhsicv1#

您可以使用表达式将数据重新排列为您的格式。
源数据(以|):

BannerNumber|StoreGroupNumber|StoreGroupName|MemberNumber|MemberName|StoreNumbers
21|83|SD|225|SD2|5,10,20,30,40,41,42,43,44,93

字符串
使用lookup活动从文本文件中获取行,然后foreach对这些行(在本例中只有一行)进行遍历:

我使用一个set变量输入表达式来创建你想要的JSON格式:

'{
  "BannerNumber": "@{item().BannerNumber}",
  "StoreGroupNumber": "@{item().StoreGroupNumber}",
  "StoreGroupName": "@{item().StoreGroupName}",
  "StoreGroupMembers": [
    {
      "MemberId": "@{item().MemberNumber}",
      "MemberLabel": "@{item().MemberName}",
      "StoreNumbers": [ 
      @{concat('{"StoreId":"',replace(item().StoreNumbers,',','"},{"StoreId":"'),'"}')}
        ],
      "MemberAddedOn": "@{utcnow()}" 
    }
  ]
  }'


结果是:


相关问题