Logi c App До действия, как установить счетчик динамически? - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть приложение logi c, которое извлекает данные из конечной точки API. API использует разбиение на страницы и имеет ограничение в 50 объектов на запрос, а затем предоставляет ссылку для следующих 50 объектов, пока он не получит все объекты, однако я понятия не имею, сколько объектов будет для каждого запроса. Мой процесс кратко описан ниже:

  • Сначала сделайте начальный HTTP-запрос к конечной точке

  • Синтаксический ответ HTTP Body для возможности используйте предоставленный URL-адрес nextLink.

  • До тех пор, пока l oop с условием для запуска, пока nextLink не станет равным нулю.

  • В до l oop У меня есть действие для Set Variable, которое получает Set для нового URL для каждого запроса, сделанного с новой нумерацией страниц в конце URL: "& _offset = 100"

Проблема с до l oop заключается в том, что вы можете установить ограничения на количество и время ожидания, как вы можете видеть здесь . Поскольку я понятия не имею, сколько будет нумерации страниц, я ожидаю, что l oop будет работать до тех пор, пока не будет выполнено указанное условие. Тем не менее, я попытался указать некоторые другие значения, перечисленные ниже:

  • Количество = 1 - В результате всего за 1 прогон

  • Количество = пусто - Результат он работает в течение часа (около 3300 циклов), как определено значением Timeout.

  • Count = 60 - В результате он работает 60 раз

Я выяснил, сколько страниц имеет этот конкретный запрос c, и оказалось, что он имеет 290 страниц. Я ожидаю, что пока l oop не будет работать, пока nextLink не станет равным нулю, что будет после 290 циклов. Но мне интересно, есть ли возможность указать динамическое значение c для Count в действии before?

Я ожидаю, что действие UNTIL будет выполняться столько раз, сколько необходимо, исходя из того, сколько существует нумерации страниц, это, по крайней мере, то, что, я полагаю, должно быть сделано, потому что, если мне нужно указать значение, сколько раз ему нужно запускать тогда это действие довольно бесполезно. Надеюсь, здесь есть кто-то, кто, возможно, столкнулся с той же проблемой.

С уважением

1 Ответ

0 голосов
/ 20 апреля 2020

Насколько я знаю, действие "До" требует от нас определить хотя бы один предел для предотвращения бесконечных циклов. enter image description here

Для вашей проблемы вы можете просто определить счетчик, достаточно большой, чтобы ваши конечные точки отображали все страницы. Если вы хотите указать динамическое значение c для счетчика, вам необходимо выполнить два условия:

  1. Вы должны иметь доступ к общему количеству страниц (если ваша конечная точка обеспечивает URL, чтобы получить это).

  2. Счетчик, установленный в действии «До», может ссылаться только на триггерные входы, триггерные выходы и параметры.

Согласно утверждению в вашем вопросе Я думаю, вы не можете выполнить эти два условия. Поэтому я думаю, что мы можем просто установить счет, который достаточно велик.

...