首页 > 解决方案 > 从活动响应 Azure 数据工厂设置变量

问题描述

管道变量

管道

我在复制数据活动中有 REST 调用,它给了我一个 json 响应我的目标是获取“hasNextPage”值并将其放入 hasNext 变量

我想将它设置为连接到“复制数据”活动的“设置变量”活动中的一个值,我希望以这样的方式访问输出:@activity('Timesheets').output.data .timesheets.pageinfo.hasNext

我还希望能够从“edges”数组[]中的最后一个元素中获取“光标”的值

我找不到有关如何执行此操作的任何文档

我从 Timesheets 活动中获得的 Json 响应

[
{
"data": {
  "timesheets": {
    "pageInfo": {
      "hasNextPage": true
    },
    "edges": [
      {
        "cursor": "81836000243260.81836000243275.",
        "node": {
          "parameter1": "2019-11-04",
          "parameter2": "81836000243260"
        }
      },
      {
        "cursor": "81836000243252.81836000243260.81836000243275",
        "node": {
          "parameter1": "2019-11-04",
          "parameter2": "81836000243260"
        }
      }
     ]
   }
  }
 }
]

标签: jsonazure-data-factory-2

解决方案


据此,复制数据活动的输出没有您可以访问的数据属性。 https://docs.microsoft.com/en-us/azure/data-factory/copy-activity-overview

Copy Activity 是为复制大数据而设计的,它不会一次性复制所有行。因此,为 Copy Activity 提供输出数据集是没有意义的。

如果来自 REST 服务的响应包含有限元素,则可以使用 Web 活动来使用 REST 服务。这有一个您可以访问的输出数据集。随后是一个 foreach 活动来迭代数据集。请记住在 foreach 活动中考虑数据集的并行与顺序迭代。

请注意,在您的服务响应中,您会得到一个“数据”对象数组,因此您需要处理第一个“数据”元素。


推荐阅读