Копирование данных в Amazon Simple Storage Service и их преобразование с помощью Фабрики данных Azure или Azure Synapse Analytics
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье описывается использование действия копирования для копирования данных из Amazon Simple Storage Service (Amazon s3) и использования потока данных для преобразования данных в Amazon S3. Дополнительные сведения см. в вводных статьях о Фабрике данных Azure и Synapse Analytics.
Совет
Дополнительные сведения о сценарии миграции данных из Amazon S3 в службу хранилища Microsoft Azure см. в статье Перенос данных из Amazon S3 в службу хранилища Azure.
Поддерживаемые возможности
Этот соединитель Amazon S3 предназначен для поддержки следующих возможностей:
Поддерживаемые возможности | IR |
---|---|
Действие копирования (источник/-) | (1) (2) |
Поток данных для сопоставления (источник/приемник) | (1) |
Действие поиска | (1) (2) |
Действие получения метаданных в Фабрике данных Azure | (1) (2) |
Действие удаления | (1) (2) |
① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции
В частности, этот соединитель Amazon S3 поддерживает копирование файлов "как есть" или анализ файлов с использованием поддерживаемых форматов файлов и кодеков сжатия. Можно также сохранить метаданные файла во время копирования. Для проверки подлинности запросов в S3 соединитель использует подпись AWS версии 4.
Совет
Сведения о том, как скопировать данные из любого поставщика хранилища, совместимого с S3, см. в статье Хранилище, совместимое с Amazon S3.
Необходимые разрешения
Для копирования данных из Amazon S3 убедитесь в том, что вам предоставлены следующие разрешения для операций с объектами Amazon S3: s3:GetObject
и s3:GetObjectVersion
.
Если вы используете для создания пользовательский интерфейс Фабрики данных Azure, для выполнения таких операций, как тестирование подключения к связанной службе и просмотр из корня, требуются дополнительные разрешения s3:ListAllMyBuckets
и s3:ListBucket
/s3:GetBucketLocation
. Если вы не хотите предоставлять эти разрешения, можно выбрать в пользовательском интерфейсе параметры "Тестирование подключения к пути к файлу" или "Просмотр по указанному пути".
Полный список разрешений Amazon S3 см. в статье, посвященной назначению разрешений в политике на сайте AWS.
Начало работы
Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:
- средство копирования данных;
- Портал Azure
- Пакет SDK для .NET
- Пакет SDK для Python
- Azure PowerShell
- The REST API
- шаблон Azure Resource Manager.
Создание связанной службы Amazon Simple Storage Service (S3) с помощью пользовательского интерфейса
Выполните приведенные ниже действия, чтобы создать связанную службу Amazon S3 с помощью пользовательского интерфейса на портале Azure.
Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", после чего нажмите "Создать":
Выполните поиск Amazon и выберите соединитель Amazon S3.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Сведения о конфигурации соединителя
Следующие разделы содержат сведения о свойствах, которые используются для определения сущностей фабрики данных, характерных для Amazon S3.
Свойства связанной службы
Для связанной службы Amazon S3 поддерживаются следующие свойства.
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Для свойства type необходимо задать значение AmazonS3. | Да |
authenticationType | Укажите тип проверки подлинности, используемый для подключения к Amazon S3. Вы можете использовать ключи доступа для учетной записи Системы управления идентификацией и доступом AWS или временные учетные данные безопасности. Допустимые значения: AccessKey (по умолчанию) и TemporarySecurityCredentials . |
No |
accessKeyId | Идентификатор секретного ключа доступа. | Да |
secretAccessKey | Сам секретный ключ доступа. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. | Да |
sessionToken | Применяется при использовании проверки подлинности с временными учетными данными безопасности. Узнайте, как запросить временные учетные данные безопасности в AWS. Обратите внимание, что срок действия временных учетных данных AWS истекает в течение 15 минут — 36 часов в зависимости от параметров. При выполнении действия следите за тем, чтобы учетные данные были действительны, особенно это касается рабочей нагрузки. Например, учетные данные можно периодически обновлять и хранить в Azure Key Vault. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. |
No |
serviceUrl | Указание настраиваемой конечной точки S3 https://<service url> .Измените ее только в том случае, если вы хотите попробовать другую конечную точку службы или переключиться между https и http. |
No |
connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции (если хранилище данных расположено в частной сети). Если это свойство не задано, используется среда выполнения интеграции Azure по умолчанию. | No |
Пример. Использование проверки подлинности ключа доступа
{
"name": "AmazonS3LinkedService",
"properties": {
"type": "AmazonS3",
"typeProperties": {
"accessKeyId": "<access key id>",
"secretAccessKey": {
"type": "SecureString",
"value": "<secret access key>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Пример. Использование проверки подлинности с временными учетными данными безопасности
{
"name": "AmazonS3LinkedService",
"properties": {
"type": "AmazonS3",
"typeProperties": {
"authenticationType": "TemporarySecurityCredentials",
"accessKeyId": "<access key id>",
"secretAccessKey": {
"type": "SecureString",
"value": "<secret access key>"
},
"sessionToken": {
"type": "SecureString",
"value": "<session token>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Свойства набора данных
Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных.
Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.
- Формат Avro
- Двоичный формат
- Формат текста с разделителями
- Формат Excel
- Формат JSON
- Формат ORC
- Формат Parquet
- ФОРМАТ XML
Ниже перечислены свойства, которые поддерживаются для Amazon S3 в параметрах location
в наборе данных на основе формата.
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство type в location для набора данных должно быть AmazonS3Location. |
Да |
bucketName | Имя контейнера S3. | Да |
folderPath | Путь к папке в заданном контейнере. Если вы хотите использовать подстановочный знак для фильтрации папок, пропустите этот параметр и укажите его в параметрах источника действия. | No |
fileName | Имя файла в заданном контейнере и путь к папке. Если вы хотите использовать подстановочный знак для фильтрации файлов, пропустите этот параметр и укажите его в параметрах источника действия. | No |
версия | Версия объекта S3, если включено управление версиями S3. Если значение не указано, будет выбрана последняя версия. | No |
Пример:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Amazon S3 linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AmazonS3Location",
"bucketName": "bucketname",
"folderPath": "folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Свойства действия копирования
Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры и действия в фабрике данных Azure. Этот раздел содержит список свойств, поддерживаемых источником Amazon S3.
Amazon S3 как тип источника
Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.
- Формат Avro
- Двоичный формат
- Формат текста с разделителями
- Формат Excel
- Формат JSON
- Формат ORC
- Формат Parquet
- ФОРМАТ XML
Ниже перечислены свойства, которые поддерживаются для Amazon S3 в параметрах storeSettings
в источнике копирования на основе формата.
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Для свойства type в разделе storeSettings необходимо задать значение AmazonS3ReadSettings. |
Да |
Поиск файлов для копирования | ||
ВАРИАНТ 1. Статический путь |
Копирование из заданного контейнера или папки/пути к файлу, которые указаны в наборе данных. Если вы хотите скопировать все файлы из контейнера или папки, дополнительно укажите wildcardFileName как * . |
|
ВАРИАНТ 2. Префикс S3 - prefix |
Префикс для имени ключа S3 в заданном контейнере, настроенном в наборе данных для фильтрации исходных файлов S3. Выбираются ключи S3, имена которых начинаются с bucket_in_dataset/this_prefix . Он использует фильтр на стороне службы S3, который более эффективен, чем фильтр с подстановочными знаками.При использовании префикса и копировании в приемник на основе файлов с сохранением иерархии сохраняется дополнительный путь, стоящий за последним символом "/" в префиксе. Например, для источника bucket/folder/subfolder/file.txt и настроенного префикса folder/sub сохраненный путь к файлу будет subfolder/file.txt . |
No |
Вариант 3. Подстановочный знак - wildcardFolderPath |
Путь к папке с подстановочными знаками в заданном контейнере, настроенном в наборе данных для фильтрации исходных папок. Допустимые знаки подстановки: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу). Используйте ^ для экранирования знаков, если имя папки содержит подстановочный знак или этот escape-символ. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов. |
No |
Вариант 3. Подстановочный знак — wildcardFileName |
Имя файла с подстановочными знаками в заданном контейнере и путь к папке (или путь к папке в виде подстановочного знака) для фильтрации исходных папок. Допустимые знаки подстановки: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу). Используйте ^ для экранирования символов, если имя файла содержит подстановочный знак или этот escape-символ. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов. |
Да |
ВАРИАНТ 4. Список файлов - fileListPath |
Указывает, что нужно скопировать заданный набор файлов. Укажите текстовый файл со списком файлов, которые необходимо скопировать, по одному файлу в строке (каждая строка должна содержать относительный путь к заданному в наборе данных пути). При использовании этого варианта не указывайте имя файла в наборе данных. Ознакомьтесь с дополнительными примерами в разделе Примеры списков файлов. |
No |
Дополнительные параметры: | ||
recursive | Указывает, следует ли читать данные рекурсивно из вложенных папок или только из указанной папки. Обратите внимание, что если для свойства recursive задано значение true, а приемником является файловое хранилище, пустые папки и вложенные папки не создаются в приемнике. Допустимые значения: true (по умолчанию) и false. Это свойство не применяется при настройке fileListPath . |
No |
deleteFilesAfterCompletion | Указывает, удаляются ли двоичные файлы из исходного хранилища после успешного перемещения в конечное хранилище. Файлы удаляются поочередно, поэтому в случае сбоя действия копирования вы увидите, что некоторые файлы уже скопированы в место назначения и удалены из источника, в то время как остальные находятся в исходном хранилище. Это свойство допустимо только в сценарии копирования двоичных файлов. По умолчанию имеет значение false. |
No |
modifiedDatetimeStart | Фильтр файлов на основе атрибута времени последнего изменения. Будут выбраны все файлы, у которых время последнего изменения больше или равно modifiedDatetimeStart и меньше modifiedDatetimeEnd . Время представлено часовым поясом UTC в формате "2018-12-01T05:00:00Z". Эти свойства могут иметь значение NULL. Это означает, что фильтры атрибута файла не будут применяться к этому набору данных. Если для параметра modifiedDatetimeStart задано значение даты и времени, но параметр modifiedDatetimeEnd имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения больше указанного значения даты и времени или равен ему. Если для параметра modifiedDatetimeEnd задано значение даты и времени, но параметр modifiedDatetimeStart имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения меньше указанного значения даты и времени.Это свойство не применяется при настройке fileListPath . |
No |
modifiedDatetimeEnd | То же, что выше. | No |
enablePartitionDiscovery | Для секционированных файлов укажите, следует ли анализировать секции из пути к файлу и добавлять их как дополнительные исходные столбцы. Допустимые значения: false (по умолчанию) и true. |
No |
partitionRootPath | Если обнаружение секций включено, укажите абсолютный корневой путь, чтобы считывать секционированные папки как столбцы данных. Если параметр не задан (по умолчанию), происходит следующее. — При использовании пути к файлу в наборе данных или списке файлов в источнике корневым путем секции считается путь, настроенный в наборе данных. — При использовании фильтра папки с подстановочными знаками корневым путем секции считается часть пути до первого подстановочного знака. — При использовании префикса корневой путь секции — это вложенный путь перед последним символом "/". Предположим, что вы настроили путь в наборе данных следующим образом: "root/folder/year=2020/month=08/day=27". — Если указать корневой путь секции "root/folder/year=2020", действие копирования в дополнение к указанным в файлах столбцам создаст еще два столбца, month и day , со значениями "08" и "27" соответственно.— Если корневой путь секции не указан, дополнительные столбцы создаваться не будут. |
No |
maxConcurrentConnections | Верхний предел одновременных подключений, установленных для хранилища данных при выполнении действия. Указывайте значение только при необходимости ограничить количество одновременных подключений. | No |
Пример:
"activities":[
{
"name": "CopyFromAmazonS3",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "AmazonS3ReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Примеры фильтров папок и файлов
В этом разделе описываются результаты применения фильтров с подстановочными знаками к пути папки и имени файла.
bucket | key | recursive | Структура исходной папки и результат фильтрации (извлекаются файлы, выделенные полужирным шрифтом) |
---|---|---|---|
bucket | Folder*/* |
false | bucket ПапкаA Файл1.csv File2.json Вложенная_папка1 File3.csv File4.json File5.csv Другая_папкаB Файл6.csv |
bucket | Folder*/* |
true | bucket ПапкаA Файл1.csv File2.json Вложенная_папка1 File3.csv File4.json File5.csv Другая_папкаB Файл6.csv |
bucket | Folder*/*.csv |
false | bucket ПапкаA Файл1.csv File2.json Вложенная_папка1 File3.csv File4.json File5.csv Другая_папкаB Файл6.csv |
bucket | Folder*/*.csv |
true | bucket ПапкаA Файл1.csv File2.json Вложенная_папка1 File3.csv File4.json File5.csv Другая_папкаB Файл6.csv |
Примеры списков файлов
В этом разделе описывается поведение, возникающее при указании пути к списку файлов в качестве источника для действия Copy.
Предположим, что у вас есть следующая исходная структура папок и вы хотите скопировать файлы, выделенные полужирным шрифтом:
Пример исходной структуры | Содержимое файла FileListToCopy.txt | Настройка |
---|---|---|
bucket ПапкаA Файл1.csv File2.json Вложенная_папка1 File3.csv File4.json File5.csv Метаданные FileListToCopy.txt |
Файл1.csv Вложенная_папка1/Файл3.csv Вложенная_папка1/Файл5.csv |
В наборе данных: – Контейнер: bucket – Путь к папке: FolderA В источнике действия Copy: – Путь к списку файлов: bucket/Metadata/FileListToCopy.txt Путь к списку файлов указывает на текстовый файл в том же хранилище данных, содержащий список файлов для копирования, с указанием по одному файлу в строке с относительным путем к заданному в наборе данных пути. |
Сохранение метаданных файла во время копирования
При копировании файлов из Amazon S3 в Azure Data Lake Storage 2-го поколения или хранилище BLOB-объектов Azure можно сохранить метаданные файла вместе с данными. Подробнее см. в разделе Сохранение метаданных.
Свойства потока данных для сопоставления
При преобразовании данных в потоках данных для сопоставления можно считывать файлы из Amazon S3 в следующих форматах:
Конкретные параметры приведены в документации для соответствующего формата. Дополнительные сведения см. в статье Преобразование источника в потоке сопоставления данных.
Преобразование источника
В преобразовании источника можно выполнять чтение из контейнера, папки или отдельного файла в Amazon S3. Используйте вкладку Параметры источника для управления чтением файлов.
Пути с подстановочными знаками. Использование шаблона с подстановочными знаками позволяет указать службе, что необходимо перебрать каждую соответствующую папку и файл в одном преобразовании источника. Это эффективный способ обработки нескольких файлов в одном потоке. Добавьте несколько шаблонов сопоставления с подстановочными знаками с помощью значка "плюс", который появляется при наведении указателя мыши на существующий шаблон с подстановочными знаками.
В исходном контейнере выберите файлы, соответствующие шаблону. В наборе данных можно указать только контейнер. Путь с подстановочными знаками должен также включать путь к папке из корневой папки.
Примеры подстановочных знаков:
*
— представляет любой набор символов.**
— представляет рекурсивную вложенность каталога.?
— заменяет один символ.[]
— соответствует одному или нескольким символам в квадратных скобках./data/sales/**/*.csv
— возвращает все файлы .csv в папке /data/sales./data/sales/20??/**/
— возвращает все файлы, созданные в 20 веке./data/sales/*/*/*.csv
— возвращает файлы .csv, расположенные двумя уровнями ниже папки /data/sales./data/sales/2004/*/12/[XY]1?.csv
— возвращает все файлы .csv, созданные в декабре 2004 года, которые начинаются с X или Y с двузначным числом в качестве префикса.
Корневой путь раздела. Если в источнике файлов имеются секционированные папки формата key=value
(например, year=2019
), то верхний уровень этого дерева секционированной папки можно назначить имени столбца в потоке данных.
Во-первых, задайте подстановочный знак, чтобы включить все пути, которые являются в секционированных папках, а также конечные файлы, которые требуется прочитать.
Для определения верхнего уровня структуры папок используйте параметр Корневой путь раздела. При просмотре содержимого данных с помощью предварительного просмотра данных вы увидите, что служба добавит разрешенные секции, найденные на каждом уровне папок.
Список файлов: это набор файлов. Создайте текстовый файл, который включает список относительных путей файлов для обработки. Укажите на этот текстовый файл.
Столбец для хранения имени файла: сохраните имя исходного файла в столбце в данных. Укажите здесь новое имя столбца для хранения строки имени файла.
После завершения: выберите ничего делать с исходным файлом после запуска потока данных, удалите исходный файл или переместите исходный файл. Пути для перемещения являются относительными.
Чтобы переместить исходные файлы в другое расположение после обработки, сначала выберите "Переместить" для операции с файлом. Затем задайте исходный каталог. Если вы не используете подстановочные знаки в пути, исходным каталогом будет та же папка, что и исходная папка.
Если имеется исходный путь с подстановочным знаком, синтаксис будет выглядеть следующим образом.
/data/sales/20??/**/*.csv
В качестве исходной папки можно указать:
/data/sales
А в качестве целевой папки можно указать:
/backup/priorSales
В этом случае все файлы, источником которых является папка /data/sales
, перемещаются в папку /backup/priorSales
.
Примечание.
Операции с файлами выполняются только в том случае, если поток данных выполняется из запуска конвейера (отладка конвейера или запуск выполнения) с использованием действия выполнения потока данных в конвейере. Операции с файлами не выполняются в режиме отладки потока данных.
Фильтр по последнему изменению: вы можете фильтровать файлы, обрабатываемые путем указания диапазона дат последнего изменения. Все значения даты и времени указаны в формате UTC.
Свойства действия поиска
Подробные сведения об этих свойствах см. в разделе Действие поиска.
Свойства действия GetMetadata
Подробные сведения об этих свойствах см. в статье Действие GetMetadata.
Свойства действия удаления
Подробные сведения об этих свойствах см. в статье Действие удаления.
Устаревшие модели
Примечание.
Следующие модели по-прежнему поддерживаются на условиях "как есть" для обеспечения обратной совместимости. Рекомендуется использовать новую модель, упомянутую ранее. В пользовательском интерфейсе разработки уже используется именно эта новая модель.
Устаревшая модель набора данных
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство типа для набора данных должно быть AmazonS3Object. | Да |
bucketName | Имя контейнера S3. Фильтр подстановочных знаков не поддерживается. | Yes для действия Copy/Lookup, No для действия GetMetadata |
key | Имя или фильтр подстановочных знаков ключа объекта S3 в указанном контейнере. Применяется, только если свойство prefix не указано. Фильтр с подстановочными знаками поддерживается для пути к папке и имени файла. Допустимые знаки подстановки: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу).Пример 1. "key": "rootfolder/subfolder/*.csv" Пример 2. "key": "rootfolder/subfolder/???20180427.txt" Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов. Используйте ^ для экранирования знаков, если фактическое имя папки содержит подстановочный знак или этот escape-символ. |
No |
prefix | Префикс для ключа объекта S3. Выбираются объекты, ключи которых начинаются с этого префикса. Применяется, только если свойство key не указано. | No |
версия | Версия объекта S3, если включено управление версиями S3. Если версия не указана, будет выбрана последняя версия. | No |
modifiedDatetimeStart | Фильтр файлов на основе атрибута времени последнего изменения. Будут выбраны все файлы, у которых время последнего изменения больше или равно modifiedDatetimeStart и меньше modifiedDatetimeEnd . Время представлено часовым поясом UTC в формате "2018-12-01T05:00:00Z". Помните, что включение этого параметра в случае, если требуется использовать фильтр файлов с огромными объемами файлов, влияет на общую производительность перемещения данных. Эти свойства могут иметь значение NULL. Это означает, что фильтры атрибута файла не будут применяться к этому набору данных. Если для параметра modifiedDatetimeStart задано значение даты и времени, но параметр modifiedDatetimeEnd имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения больше указанного значения даты и времени или равен ему. Если для параметра modifiedDatetimeEnd задано значение даты и времени, но параметр modifiedDatetimeStart имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения меньше указанного значения даты и времени. |
No |
modifiedDatetimeEnd | Фильтр файлов на основе атрибута времени последнего изменения. Будут выбраны все файлы, у которых время последнего изменения больше или равно modifiedDatetimeStart и меньше modifiedDatetimeEnd . Время представлено часовым поясом UTC в формате "2018-12-01T05:00:00Z". Помните, что включение этого параметра в случае, если требуется использовать фильтр файлов с огромными объемами файлов, влияет на общую производительность перемещения данных. Эти свойства могут иметь значение NULL. Это означает, что фильтры атрибута файла не будут применяться к этому набору данных. Если для параметра modifiedDatetimeStart задано значение даты и времени, но параметр modifiedDatetimeEnd имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения больше указанного значения даты и времени или равен ему. Если для параметра modifiedDatetimeEnd задано значение даты и времени, но параметр modifiedDatetimeStart имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения меньше указанного значения даты и времени. |
No |
format | Если требуется скопировать файлы между файловыми хранилищами "как есть" (двоичное копирование), можно пропустить раздел форматирования в определениях входного и выходного наборов данных. Если нужно проанализировать или создать файлы определенного формата, поддерживаются следующие типы форматов файлов: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Свойству type в разделе format необходимо присвоить одно из этих значений. Дополнительные сведения см. в разделах о текстовом формате, формате JSON, формате Avro, формате Orc и формате Parquet. |
Нет (только для сценария двоичного копирования) |
compression | Укажите тип и уровень сжатия данных. Дополнительные сведения см. в разделе Поддержка сжатия. Поддерживаемые типы: GZip, Deflate, BZip2 и ZipDeflate. Поддерживаемые уровни: Optimal и Fastest. |
No |
Совет
Чтобы скопировать все файлы в папке, укажите bucketName для контейнеров и prefix для части папки.
Чтобы скопировать один файл с заданным именем, укажите bucketName для контейнеров и key для части папки вместе с именем файла.
Чтобы скопировать подмножество файлов в папке, укажите bucketName для контейнеров и key для части папки и фильтра подстановочных знаков.
Пример. Использование префикса
{
"name": "AmazonS3Dataset",
"properties": {
"type": "AmazonS3Object",
"linkedServiceName": {
"referenceName": "<Amazon S3 linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"bucketName": "testbucket",
"prefix": "testFolder/test",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Пример. Использование ключа и версии (необязательно)
{
"name": "AmazonS3Dataset",
"properties": {
"type": "AmazonS3",
"linkedServiceName": {
"referenceName": "<Amazon S3 linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"bucketName": "testbucket",
"key": "testFolder/testfile.csv.gz",
"version": "XXXXXXXXXczm0CJajYkHf0_k6LhBmkcL",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Устаревшая исходная модель для действия Copy
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство type источника действия Copy должно иметь значение FileSystemSource. | Да |
recursive | Указывает, следует ли читать данные рекурсивно из вложенных папок или только из указанной папки. Обратите внимание, что, если для свойства recursive задано значение true, а приемником является файловое хранилище, пустые папки и вложенные папки не копируются и не создаются в приемнике. Допустимые значения: true (по умолчанию) и false. |
No |
maxConcurrentConnections | Верхний предел одновременных подключений, установленных для хранилища данных при выполнении действия. Указывайте значение только при необходимости ограничить количество одновременных подключений. | No |
Пример:
"activities":[
{
"name": "CopyFromAmazonS3",
"type": "Copy",
"inputs": [
{
"referenceName": "<Amazon S3 input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "FileSystemSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
Связанный контент
Список хранилищ данных, поддерживаемых действием копирования в качестве источников и приемников, приведен в разделе Поддерживаемые хранилища данных.