Извлечение данных подкачки с помощью фабрики данных 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 параметр после

https://graph.facebook.com/v2.12/1528385107457405/groups?access_token=value&pretty=1&fields=privacy,name,purpose&limit=5&after=QVF

Есть какой-либо способ сделать это?

0 ответов

  1. Операция копирования имеет встроенную поддержку разбивки на страницы. В случае @Waqas Idrees правило разбивки на страницы должно быть установлено следующим образом:

    • Имя: AbsoluteUrl
    • Ценность: $.data.paging.next

    Такой параметр можно найти на вкладке Источник в действии Копирование:

  1. Нет необходимости использовать U-SQL для преобразования иерархического формата в табличный. Копирование Activity Mapping может делать это на лету

Поэтому ответьте на вопрос ОП:

Как я могу получить данные этого типа с помощью итерации в фабрике данных V2?

Не нужно использовать итерации. Рассмотрите возможность использования функции копирования.

PS Поскольку изучение этой темы заняло у меня довольно много времени, и я не смог найти аналогичное руководство во время своего исследования, я создал сообщение в блоге об этом и описал процесс шаг за шагом: фабрика данных Azure и REST API - отображение и разбивка на страницы

PPS Из-за темпов развития ADF я согласен с тем, что в апреле 2018 года встроенная разбивка на страницы еще не могла быть частью продукта. В данном случае это объясняет, почему тогда на вопрос не ответили. Однако я надеюсь, что мои выводы помогут тем, кто столкнулся с подобной проблемой в наши дни.

Другие вопросы по тегам