У меня есть случай, когда мне нужно загрузить файлы CSV в CosmosDb. Итак, у меня есть один набор данных для обработки CSV, а другой — для подготовки схемы CosmosDb.
В процессе у меня есть сопоставление задачи CopyData из CSV, а затем запись в Cosmos. В параметре CopyData Source я указываю хранилище BLOB-объектов Azure, в котором хранятся файлы CSV.
До сих пор не было никаких проблем. Дело в том, что теперь мне нужно найти способ гарантировать, что большие двоичные объекты будут приниматься как массив файлов в алфавитном порядке (на основе имени файла).
Есть ли способ?
Трудно сортировать по именам файлов в ADF.
Один из способов достижения:
Сохраните все ваши имена файлов в файле csv, затем используйте операцию сортировки в потоке данных и перезапишите этот файл. Наконец, используйте действия Lookup и For Each, чтобы скопировать большие двоичные объекты в Cosmos DB.
Другой путь:
Передайте дочерние элементы выходных данных действия "Получить метаданные" в функцию Azure. Затем отсортируйте имена файлов в функции Azure. Наконец, зациклите вывод функции по действию «Для каждого» и скопируйте в Cosmos DB.
Итак, вам нужно получить BLOB-объект, который раньше всего был загружен в одну папку?
На самом деле необходимость сортировки по имени файла скрывает простую необходимость сначала принять первый сохраненный большой двоичный объект. Это реальная потребность. В настоящее время без какого-либо дополнительного процесса он, похоже, не загружает первый загруженный большой двоичный объект. Я думаю, что оба варианта будут работать, я бы выбрал «второй путь», потому что я не могу использовать DataFlow (недоступно в Китае). Мы просто знаем, как ADF извлекает данные из учетной записи хранилища? На основании какого приказа?