如何使用 Azure 数据工厂在 REST API 连接服务的相对 URL 中插入页面范围变量?

问题描述 投票:0回答:1

首先,使用复制数据命令与使用数据流执行相同操作时分页的工作方式似乎有所不同,但在摄取和接收器之间添加了展平转换。

使用“复制数据”命令时,此相对 url:mytable?type=external&count=400&startPage={startPage}&includeDetails=TRUE(其中 startPage 位于大括号中)可与复制数据管道中的此分页配合使用:absoluteUrl.{startPage} RANGE:1: 20:1

但是,这种相同的组合似乎不适用于数据流源。我收到的错误是它无法识别相对网址中的 {}。还要添加的一件事是,当选择 AbsoluteUrl 时,RANGE 函数不在分页规则的下拉列表中,并且不确定这是否是错误或故意/相关。

我认为有一种不同的方法可以在相对 URL 中写入 {startPage} 变量,或者可能存在数据流中分页的错误。出现错误的可能性较小,希望有一种不同的方式来编写相对 URL。任何帮助将不胜感激!

我对复制数据命令重复了相同的配置,但在数据流内,它导致了错误。数据流似乎无法识别相对 URL,这与复制命令相同。

配置组合: 相对 url: mytable?type=external&count=400&startPage={startPage}&includeDetails=TRUE 复制数据管道中的分页:absoluteUrl.{startPage} RANGE:1:20:1

azure azure-data-factory
1个回答
0
投票

我认为有一种不同的方法可以在相对 URL 中写入 {startPage} 变量,或者可能存在数据流中分页的错误。

在映射数据流中Rest API 不支持范围分页

要实现像分页这样的范围,您需要使用 For-each 活动及其下的数据流。

  • 您可以使用 range 函数通过
    @range(1,20)
    函数迭代范围。 https://i.imgur.com/JIdRQU7.png
  • 在此下,对于每个带有参数化数据集的数据流,如下所示: 在源数据集中创建
    startpage
    参数 enter image description here 在数据集中添加您的相对 URL,如下所示:
@concat('mytable?type=external&count=400&startPage=',string(dataset().startPage),'&includeDetails=TRUE')

enter image description here

  • 然后在数据流源参数中为每个迭代器添加源参数。 enter image description here
© www.soinside.com 2019 - 2024. All rights reserved.