# #rest #http #pagination #get #google-cloud-data-fusion
#остальное #http #пагинация #получить #google-облако-слияние данных
Вопрос:
Я создаю процесс ETL на основе API ВЫЗОВОВ REST для получения информации о транзакциях от PayPayl. Для этого я использую HTTP-плагин в Data Fusion на GCP.
PayPal использует разбиение на страницы и устанавливает максимальный лимит в 500 транзакций на страницу. Чтобы получить результаты от другого, мне нужно указать путь к ссылке, которая содержит другой набор результатов. Вот экран из документации:
Этот пример довольно прост, но в моем случае это не так просто, вот результат запроса PayPal:
В принципе, в моем примере все три ссылки имеют один и тот же путь — ссылки/href
Я пробовал много таких вещей, как links[2]/href
, links[] | select(.rel=="next")
, links[?rel=='next'].href
но это не работает.
Кто-нибудь знает, как правильно указать путь к URL-адресу на СЛЕДУЮЩЕЙ странице?
Ответ №1:
В вашем случае использования тип разбиения на страницы «Ссылка в теле ответа» не будет работать, поскольку он не поддерживает массивы в выражении. Решение состоит в том, чтобы использовать «Пользовательский» тип разбиения на страницы и предоставить короткий фрагмент python для извлечения нужного вам значения.
Комментарии:
1. Спасибо. Это жизнеспособное решение, однако, кое-что также сработало, а именно: тип разбиения на страницы — приращение и индекс с amp;page={pagination.index}