0

我有一个从 API 端点获取数据的逻辑应用程序。API 使用分页,每个请求限制为 50 个对象,然后为接下来的 50 个对象提供链接,直到它获取所有对象,但是我不知道每个请求会有多少对象。我的流程简要描述如下:

  • 首先对端点发出初始 HTTP 请求

  • 解析响应 HTTP 正文以便能够使用提供的 nextLink url。

  • 直到 nextLink 等于 null 的条件下循环运行。

  • 在 until 循环中,我有一个设置变量的操作,它为每个在 url 末尾使用新分页发出的请求设置为一个新 URL:“&_offset=100”

直到循环的问题是您可以设置计数和超时限制,如您在此处看到的那样。因为我不知道会有多少分页,所以我希望这个循环运行直到满足指定的条件。但是,我尝试指定下面列出的一些不同的值:

  • Count = 1 - 仅运行 1 次

  • Count = empty - 导致它运行一个小时(大约 3300 次循环),由 Timeout 值指定。

  • Count = 60 - 导致它运行了 60 次

我研究了这个特定请求有多少分页,结果发现它有 290 个分页。我的期望是这个直到循环将运行直到 nextLink 等于 null ,这将在 290 次循环之后。但我想知道是否有可能在 until 动作中为 Count 指定一个动态值?

我期望 UNTIL 动作根据有多少分页运行尽可能多的时间,这至少是我认为它应该做的,因为如果我需要指定它需要运行多少次的值,那么这个动作是很没用。希望这里有人可能面临同样的问题。

此致

4

1 回答 1

0

据我所知,“直到”动作要求我们定义至少一个限制以防止无限循环。 在此处输入图像描述

对于您的问题,您可以定义一个足够大的计数以允许您的端点显示所有页面。如果要为计数指定一个动态值,需要满足两个条件:

  1. 您必须能够访问页面总数(如果您的端点提供了一个 url 来获取它)。

  2. “直到”动作中设置的计数只能引用触发输入、触发输出和参数。

根据你问题中的说法,我猜你不能满足这两个条件。所以我认为我们可以设置一个足够大的计数。

于 2020-04-20T07:04:54.300 回答