遍历在 ADF 中有限制的 API
Iterate through an API that has limits in ADF
我有一个 ADF 管道,其中有一个 API 调用,其中 returns 数据块(最多 100 个)。如果您只需要 100 个用户,则此管道有效。我一直在想办法再次调用 API(并将计数增加 100)直到响应为空。
例如,这是 API (#3) 的 URL:https://externalAPI.api?$top=100&$skip=@pipeline().parameters.skipCount(从 0 开始)
在forEach activity之后,我想检查response是否为空,如果不是,返回调用API activity,然后重复直到response为空。问题是如果响应不为空,则无法添加返回到 API activity 的 if 条件 activity。
我尝试的一个解决方案是将前三个步骤作为它们自己的管道,然后在第二个管道中调用执行管道 activity。我运行分为两期:
- 我不确定如何将网络响应activity传递到下一个管道
- 在 if 条件 activity 中也不允许使用 ForEach activity
我认为 If 条件 activity 将允许您调用前一个 activity,但情况似乎并非如此。如有任何建议,我们将不胜感激。
您可以使用 Until activity 循环调用 API。
在管道级别创建一个变量(例如:repeat)并传递一个默认值(例如:false)。
在until循环中,加入判断变量值是否为真的表达式
在 until 循环内,调用 API 并更新 URL 并在每次迭代中增加值。当没有返回响应时,Web activity 停止 运行 然后将 repeat 变量的值更改为 true 以停止迭代 until 循环。
我有一个 ADF 管道,其中有一个 API 调用,其中 returns 数据块(最多 100 个)。如果您只需要 100 个用户,则此管道有效。我一直在想办法再次调用 API(并将计数增加 100)直到响应为空。
例如,这是 API (#3) 的 URL:https://externalAPI.api?$top=100&$skip=@pipeline().parameters.skipCount(从 0 开始)
在forEach activity之后,我想检查response是否为空,如果不是,返回调用API activity,然后重复直到response为空。问题是如果响应不为空,则无法添加返回到 API activity 的 if 条件 activity。
我尝试的一个解决方案是将前三个步骤作为它们自己的管道,然后在第二个管道中调用执行管道 activity。我运行分为两期:
- 我不确定如何将网络响应activity传递到下一个管道
- 在 if 条件 activity 中也不允许使用 ForEach activity
我认为 If 条件 activity 将允许您调用前一个 activity,但情况似乎并非如此。如有任何建议,我们将不胜感激。
您可以使用 Until activity 循环调用 API。
在管道级别创建一个变量(例如:repeat)并传递一个默认值(例如:false)。
在until循环中,加入判断变量值是否为真的表达式
在 until 循环内,调用 API 并更新 URL 并在每次迭代中增加值。当没有返回响应时,Web activity 停止 运行 然后将 repeat 变量的值更改为 true 以停止迭代 until 循环。