Извлечение данных подкачки с помощью фабрики данных Azure
Я создал конвейер в фабрике данных Azure V2. Он скопирует данные из Rest API и сохранит их в виде файла JSON в озере данных Azure. Затем я преобразую этот файл JSON с помощью U-SQL и скопирую эти данные в другую папку в формате.csv. Мой Трубопровод. Смотрите следующее изображение конвейера.
API Rest возвращает данные в формате JSON.
{
"data": [
{
"id": "100024937598765",
"name": "Sebastian Martinelli",
"email": "sebastian.martinelli@abc.com",
"administrator": false
},
{
"id": "100024909012916",
"name": "Diego Juarez",
"email": "diego.juarez@abc.com",
"administrator": false
},
{
"id": "100025002270557",
"name": "Jose Lopez",
"email": "jose.lopez@abc.com",
"administrator": false
},
{
"id": "100024553664067",
"name": "Valentin Montemarani",
"email": "valentin.montemarani@abc.com",
"administrator": false
}
],
"paging": {
"cursors": {
"before": "QVFIUmU1QnBOYThYTnJiQlNqVzItMFdoTVprSHh3cWZA4LXF2ZAE5nSjIxVWZAOWUc1ZAjdLZAjN2em1SazRYVno4TGE4aFBaOFdMaS1NMDdkeEduVkRsOTVhN3Jn",
"after": "QVFIUjhWdm5EOTk3amJaWHVYR3p1OEZAZAQ0ZAoeTR5TDBwblE0Mmx3dC1zRXhPM2VLZAWdqR0RWQndUVnhpTGc3RkIzVkNIY21EcXFTQU93NHVxRFcxVW12dTNB"
},
"next": "https://graph.facebook.com/v2.12/1528385107457405/members?access_token=%2Cemail&limit=25&after=QVFIUjhWdm5EOTk3amJaWHVYR3p1OEZAZAQ0ZAoeTR5TDBwblE0Mmx3dC1zRXhPM2VLZAWdqR0RWQndUVnhpTGc3RkIzVkNIY21EcXFTQU93NHVxRFcxVW12dTNB"
}
}
Этот API не возвращает полные данные, он возвращает данные, используя следующую ссылку, нажав следующую ссылку, которую мы можем получить следующий набор записей. Как я могу получить данные этого типа, используя Iteration в Data Factory V2? Я пробовал другие действия, такие как Для каждого, До и Если, но не смог повторить эту операцию копирования для получения полных данных.
Базовый URL похож на
https://graph.facebook.com/Community/groups?fields=privacy,name,purpose&limit=5&access_token=value
Теперь следующий URL будет таким же и будет иметь еще 1 параметр после
Есть какой-либо способ сделать это?
0 ответов
Операция копирования имеет встроенную поддержку разбивки на страницы. В случае @Waqas Idrees правило разбивки на страницы должно быть установлено следующим образом:
- Имя:
AbsoluteUrl
- Ценность:
$.data.paging.next
Такой параметр можно найти на вкладке Источник в действии Копирование:
- Имя:
- Нет необходимости использовать U-SQL для преобразования иерархического формата в табличный. Копирование Activity Mapping может делать это на лету
Поэтому ответьте на вопрос ОП:
Как я могу получить данные этого типа с помощью итерации в фабрике данных V2?
Не нужно использовать итерации. Рассмотрите возможность использования функции копирования.
PS Поскольку изучение этой темы заняло у меня довольно много времени, и я не смог найти аналогичное руководство во время своего исследования, я создал сообщение в блоге об этом и описал процесс шаг за шагом: фабрика данных Azure и REST API - отображение и разбивка на страницы
PPS Из-за темпов развития ADF я согласен с тем, что в апреле 2018 года встроенная разбивка на страницы еще не могла быть частью продукта. В данном случае это объясняет, почему тогда на вопрос не ответили. Однако я надеюсь, что мои выводы помогут тем, кто столкнулся с подобной проблемой в наши дни.