У меня есть следующая задача, которую я хотел бы решить предпочтительно в Google Data Fusion:
У меня есть один веб-сервис, который возвращает около 30-50 элементов, описывающих счет в полезной нагрузке JSON, например:
{
"invoice-services": [
{
"serviceId": "[some-20-digit-string]",
// some other stuff omitted
},
[...]
]
}
Для каждого вхождения serviceId
мне нужно повторно вызывать другой веб-сервис https://example.com/api/v2/services/{serviceId}/items
, где каждый serviceId
поступает из первого вызова. Меня интересуют только данные второго вызова, которые должны быть сохранены в BigQuery. Этот второй сервисный вызов не поддерживает подстановочные знаки или какой-либо другой механизм для агрегации элементов - то есть, если у меня 30 serviceId
от первого вызова, мне нужно вызвать второй веб-сервис 30 раз.
Я заставил первый звонок работать, я заставил второй звонок работать с жестко закодированным serviceId
, а также с сохранением в BigQuery. Эти вызовы просто используют HTTP-адаптер Data Fusion.
Однако как я могу использовать выходные данные первого сервиса таким образом, чтобы я выполнял один вызов веб-сервиса для второго сервиса для каждой строки, возвращаемой из первого вызова - эффективно зацикливание на всех serviceId
?
Я полностью ценю, что это очень просто в Python коде, но для удобства сопровождения и соответствия нашей среде я бы предпочел решить эту проблему в Data Fusion или использовать любое другое предложение в качестве услуги. от гугла.
Любая помощь очень ценится! J
PS: Это НЕ проблема с большими данными - я смотрю около 50 serviceId
и, возможно, 300 пунктов.