Разбиение на страницы Rest Api — тот же путь для ссылок (самостоятельно, следующий, последний)

# #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}