Действие копирования фабрики данных Azure - добавление в файл JSON

Я работаю над созданием конвейера фабрики данных, который копирует данные из конечной точки REST API в хранилище BLOB-объектов Azure. API имеет ограничение на возврат только 1000 записей за раз, поэтому я встроил в свой конвейер цикл, который будет проходить через все страницы. Мне интересно, можно ли использовать действие копирования для добавления к одному и тому же файлу в Azure Blob, а не создавать отдельный файл для каждой страницы?

Ниже показано, как выглядит ответ API. Единственное значение, которое мне нужно для каждого ответа, - это список "записей", поэтому я подумал, если это возможно, я мог бы избавиться от других вещей и просто продолжать добавлять в тот же файл, что и цикл, хотя я не знать, способно ли на это действие копирования. Возможно ли это? Или единственный способ сделать это - разместить все ответы в виде отдельных файлов в хранилище BLOB-объектов, а затем объединить их после того, как это произошло?

Спасибо

{
    "totalResults": 8483,
    "pageResults": 3,
    "timeStamp": "2020/08/24 10:43:26",
    "parameters": {
        "page": 1,
        "resultsPerPage": 3,
        "filters": [],
        "fields": [
            "lastName",
            "firstName",
            "checklistItemsAssigned",
            "checklistItemsStarted",
            "checklistItemsCompleted",
            "checklistItemsOverdue"
        ],
        "sort": {
            "field": "lastName",
            "direction": "asc"
        }
    },
    "records": [
        {
            "checklistItemsAssigned": 10,
            "lastName": "One",
            "firstName": "Person",
            "checklistItemsOverdue": 0,
            "checklistItemsStarted": 10,
            "checklistItemsCompleted": 10
        },
        {
            "checklistItemsAssigned": 5,
            "lastName": "Two",
            "firstName": "Person",
            "checklistItemsOverdue": 0,
            "checklistItemsStarted": 5,
            "checklistItemsCompleted": 5
        },
        {
            "checklistItemsAssigned": 5,
            "lastName": "Three",
            "firstName": "Person",
            "checklistItemsOverdue": 0,
            "checklistItemsStarted": 5,
            "checklistItemsCompleted": 5
        }
    ]
}

1 ответ

Решение

Действие копирования ADF поддерживает копирование больших двоичных объектов из блочных, добавляемых или страничных больших двоичных объектов, но копирование данных только для блокировки больших двоичных объектов. Blobk blob может быть только перезаписан. Вероятно, вы можете создать добавляемый тип BLOB-объекта с помощью Storage SDK, но для большей части проекта это было бы излишним. Я бы пошел с созданием новых капель и объединением их на последнем этапе.

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