【问题标题】:Copy JSON Array data from REST data factory to Azure Blob as is按原样将 JSON 数组数据从 REST 数据工厂复制到 Azure Blob
【发布时间】:2023-03-27 01:12:01
【问题描述】:

我使用 REST 从 API 和包含数组的 JSON 输出格式获取数据。当我尝试将 JSON 复制到 BLOB 时,它正在使用复制活动,我只获取第一个对象数据,其余的被忽略。

在文档中说我们可以通过跳过数据集和复制活动的模式部分来复制 JSON。我也遵循同样的方法,得到如下输出。

https://docs.microsoft.com/en-us/azure/data-factory/connector-rest#export-json-response-as-is

尝试在没有架构的情况下复制活动,使用标题作为第一行并将文件作为 .json 和 .txt 输出到 BLOB

示例 REST 输出:

{
  "totalPages": 500,
  "firstPage": true,
  "lastPage": false,
  "numberOfElements": 50,
  "number": 0,
  "totalElements": 636,
  "columns": {
    "dimension": {
      "id": "variables/page",
      "type": "string"
    },
    "columnIds": [
      "0"
    ]
  },
  "rows": [
    {
      "itemId": "1234",
      "value": "home",
      "data": [
        65
      ]
    },
    {
      "itemId": "1235",
      "value": "category",
      "data": [
        92
      ]
    },
    ],
  "summaryData": {
    "totals": [
      157
    ],
    "col-max": [
      123
    ],
    "col-min": [
      1
    ]
  }
}

BLOB 输出文本如下:这只是第一个对象数据

totalPages,firstPage,lastPage,numberOfElements,number,totalElements
500,True,False,50,0,636

【问题讨论】:

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


    【解决方案1】:

    如果您想按原样编写 JSON 响应,可以使用 HTTP connector。但是,请注意 HTTP 连接器不支持分页。

    如果您想继续使用 REST 连接器并编写一个 csv 文件作为输出,您能否指定您希望如何编写嵌套对象和数组?

    在 csv 文件中,我们不能写入数组。您始终可以使用 custom activityazure function activity 调用 REST API,按照您想要的方式对其进行解析并写入 csv 文件。

    希望这会有所帮助。

    【讨论】:

    • 我在使用 HTTP 连接器时收到 404 错误。我不希望它写入 csv 文件,意识到我必须使用 JSON 而不是 csv 才能获得输出。感谢您解释如何使用自定义活动写入 csv,这很有帮助。
    猜你喜欢
    • 2021-07-03
    • 1970-01-01
    • 2019-04-20
    • 2019-01-23
    • 1970-01-01
    • 2016-10-02
    • 2015-07-24
    • 2021-08-26
    • 2021-09-02
    相关资源
    最近更新 更多