Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНИМО К:
Azure Data Factory
Azure Synapse Analytics
Совет
Data Factory в Microsoft Fabric — это следующее поколение Azure Data Factory с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.
В этой статье описывается, как копировать данные из хранилища, совместимого с Amazon Simple Storage Service (Amazon S3). Дополнительные сведения см. в вводных статьях по Azure Data Factory и Synapse Analytics.
Поддерживаемые возможности
Соединитель хранилища, совместимого с Amazon S3, поддерживает следующие возможности:
| Поддерживаемые возможности | IR |
|---|---|
| Copy activity (источник/-) | (1) (2) |
| Операция поиска | (1) (2) |
| Активность получения метаданных | (1) (2) |
| Удаление действия | (1) (2) |
(1) Azure среды выполнения интеграции (2) локальная среда выполнения интеграции
В частности, этот соединитель хранилища, совместимого с Amazon S3, поддерживает копирование файлов "как есть" или анализ файлов с использованием поддерживаемых форматов файлов и кодеков сжатия. Для проверки подлинности запросов в S3 соединитель использует подпись AWS версии 4. Данный соединитель хранилища, совместимого с Amazon S3, можно использовать для копирования данных из любого поставщика хранилища, совместимого с S3. Укажите соответствующий URL-адрес службы в конфигурации связанной службы.
Необходимые разрешения
Для копирования данных из хранилища, совместимого с Amazon S3, убедитесь в том, что вам предоставлены следующие разрешения для операций с объектами Amazon S3: s3:GetObject и s3:GetObjectVersion.
Если для разработки вы используете пользовательский интерфейс, для выполнения таких операций, как тестирование подключения к связанной службе и просмотр из корня, требуются дополнительные разрешения s3:ListAllMyBuckets и s3:ListBucket/s3:GetBucketLocation. Если вы не хотите предоставлять эти разрешения, можно выбрать в пользовательском интерфейсе параметры "Тестирование подключения к пути к файлу" или "Просмотр по указанному пути".
Полный список разрешений Amazon S3 см. в статье, посвященной назначению разрешений в политике на сайте AWS.
Начало работы
Для выполнения действия копирования с конвейером можно использовать один из следующих средств или пакетов SDK:
- Средство копирования данных
- портал Azure
- SDK .NET
- пакет SDK Python
- Azure PowerShell
- REST API
- шаблон Azure Resource Manager
Создание связанной службы для хранилища, совместимого с Amazon S3, с помощью пользовательского интерфейса
Выполните следующие действия, чтобы создать связанную службу с совместимым хранилищем Amazon S3 в пользовательском интерфейсе портала Azure.
Перейдите на вкладку "Управление" в рабочей области Azure Data Factory или Synapse и выберите "Связанные службы", а затем нажмите кнопку "Создать".
Выполните поиск по запросу “Amazon” и найдите соединитель хранилища, совместимого с Amazon S3.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Сведения о конфигурации соединителя
В следующих разделах приведены сведения о свойствах, которые используются для определения сущностей, относящихся к хранилищу, совместимому с Amazon S3.
Свойства связанной службы
Для службы, связанной с хранилищем, совместимым с Amazon S3, поддерживаются следующие свойства.
| Свойство | Описание: | Обязательное поле |
|---|---|---|
| тип | Для свойства type необходимо задать значение AmazonS3Compatible. | Да |
| accessKeyId | Идентификатор секретного ключа доступа. | Да |
| секретныйКлючДоступа | Сам секретный ключ доступа. Пометьте это поле как SecureString для безопасного хранения или сошлитесь на секрет, хранящийся в Azure Key Vault. | Да |
| URL сервиса | Укажите настраиваемую конечную точку S3 https://<service url>. |
Нет |
| forcePathStyle | Указывает, следует ли использовать доступ в стиле пути S3 вместо доступа в виртуальном размещённом стиле. Допустимые значения: false (по умолчанию), true. Ознакомьтесь с документацией по необходимости доступа к пути для каждого хранилища данных. |
Нет |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции (если хранилище данных находится в частной сети). Если это свойство не указано, служба использует среду выполнения интеграции по умолчанию Azure. | Нет |
Пример:
{
"name": "AmazonS3CompatibleLinkedService",
"properties": {
"type": "AmazonS3Compatible",
"typeProperties": {
"accessKeyId": "<access key id>",
"secretAccessKey": {
"type": "SecureString",
"value": "<secret access key>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Свойства набора данных
Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных.
Azure Data Factory поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.
- Формат Avro
- Двоичный формат
- Формат текста с разделителями
- формат Excel
- Формат JSON
- Формат ORC
- Формат Parquet
- ФОРМАТ XML
Следующие свойства поддерживаются для совместимых с Amazon S3 настроек location в наборе данных на основе формата.
| Свойство | Описание: | Обязательное поле |
|---|---|---|
| тип | Свойство type в location для набора данных должно иметь значение AmazonS3CompatibleLocation. |
Да |
| Имя корзины | Имя контейнера хранилища, совместимого с S3. | Да |
| folderPath | Путь к папке в заданном контейнере. Если вы хотите использовать подстановочный знак для фильтрации папок, пропустите этот параметр и укажите его в параметрах источника действия. | Нет |
| имя файла | Имя файла в заданном контейнере и путь к папке. Если вы хотите использовать подстановочный знак для фильтрации файлов, пропустите этот параметр и укажите его в параметрах источника действия. | Нет |
| версия | Версия объекта хранилища, совместимого с S3, если включено управление версиями хранилища, совместимого с S3. Если значение не указано, будет выбрана последняя версия. | Нет |
Пример:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Amazon S3 Compatible Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AmazonS3CompatibleLocation",
"bucketName": "bucketname",
"folderPath": "folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Свойства Copy activity
Полный список разделов и свойств, используемых для определения действий, обратитесь к статье Конвейеры. Этот раздел содержит список свойств, поддерживаемых источником хранилища, совместимого с Amazon S3.
Хранилище, совместимое с Amazon S3, как тип источника
Azure Data Factory поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.
- Формат Avro
- Двоичный формат
- Формат текста с разделителями
- формат Excel
- Формат JSON
- Формат ORC
- Формат Parquet
- ФОРМАТ XML
Ниже перечислены свойства, которые поддерживаются для хранилища, совместимого с Amazon S3, в параметрах storeSettings в источнике копирования на основе формата.
| Свойство | Описание: | Обязательное поле |
|---|---|---|
| тип | Для свойства type в разделе storeSettings необходимо задать значение AmazonS3CompatibleReadSettings. |
Да |
| Найдите файлы для копирования: | ||
| ВАРИАНТ 1. Статический путь |
Копирование из заданного контейнера или папки/пути к файлу, которые указаны в наборе данных. Если вы хотите скопировать все файлы из контейнера или папки, дополнительно укажите wildcardFileName как *. |
|
| ВАРИАНТ 2. Префикс хранилища, совместимого с S3 - префикс |
Префикс для имени ключа хранилища, совместимого с S3, в заданном контейнере, настроенном в наборе данных для фильтрации исходных файлов хранилища, совместимого с S3. Выбраны ключи хранилища, совместимого с S3, имена которых начинаются с bucket_in_dataset/this_prefix. Фильтр на стороне сервиса хранилища, совместимого с S3, обеспечивает лучшую производительность, чем фильтр с подстановочными знаками.Когда вы используете префикс и выбираете копирование в приемник, основанный на файлах, с сохранением иерархии, обратите внимание, что дополнительный путь после последнего символа "/" в префиксе будет сохранен. Например, если у вас есть источник bucket/folder/subfolder/file.txt, и вы настроили префикс как folder/sub, то сохраненный путь к файлу будет subfolder/file.txt. |
Нет |
| Вариант 3. Подстановочный знак — wildcardFolderPath |
Путь к папке с подстановочными знаками в заданном контейнере, настроенном в наборе данных для фильтрации исходных папок. Допустимые знаки подстановки: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу). Используйте ^ для экранирования знаков, если имя папки содержит подстановочный знак или этот escape-символ. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов. |
Нет |
| Вариант 3. Подстановочный знак — wildcardFileName |
Имя файла с подстановочными знаками в заданном хранилище и путь к папке (или путь к папке с подстановочными знаками) для фильтрации исходных файлов. Допустимые знаки подстановки: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу). Используйте ^ для экранирования, если имя файла содержит подстановочный знак или символ экранирования. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов. |
Да |
| ВАРИАНТ 4. Список файлов - fileListPath |
Указывает, что нужно скопировать заданный набор файлов. Укажите текстовый файл со списком файлов, которые необходимо скопировать, по одному файлу в строке (каждая строка должна содержать относительный путь к заданному в наборе данных пути). При использовании этого варианта не указывайте имя файла в наборе данных. Ознакомьтесь с дополнительными примерами в разделе Примеры списков файлов. |
Нет |
| Дополнительные параметры: | ||
| рекурсивный | Указывает, следует ли читать данные рекурсивно из вложенных каталогов или только из конкретной папки. Обратите внимание, что если для свойства recursive задано значение true, а приемником является файловое хранилище, пустые папки и вложенные папки не создаются в приемнике. Допустимые значения: true (по умолчанию) и false. Это свойство не применяется при настройке fileListPath. |
Нет |
| УдалитьФайлыПослеЗавершения | Указывает, удаляются ли двоичные файлы из исходного хранилища после успешного перемещения в конечное хранилище. Файлы удаляются поочередно, поэтому в случае сбоя действия копирования вы увидите, что некоторые файлы уже скопированы в место назначения и удалены из источника, в то время как остальные находятся в исходном хранилище. Это свойство допустимо только в сценарии копирования двоичных файлов. По умолчанию имеет значение false. |
Нет |
| modifiedDatetimeStart | Фильтр файлов на основе атрибута времени последнего изменения. Будут выбраны все файлы, у которых время последнего изменения больше или равно modifiedDatetimeStart и меньше modifiedDatetimeEnd. Время представлено часовым поясом UTC в формате "2018-12-01T05:00:00Z". Эти свойства могут иметь значение NULL. Это означает, что фильтры атрибута файла не будут применяться к этому набору данных. Если для параметра modifiedDatetimeStart задано значение даты и времени, но параметр modifiedDatetimeEnd имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения больше указанного значения даты и времени или равен ему. Если для параметра modifiedDatetimeEnd задано значение даты и времени, но параметр modifiedDatetimeStart имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения меньше указанного значения даты и времени.Это свойство не применяется при настройке fileListPath. |
Нет |
| modifiedDatetimeEnd | То же, что выше. | Нет |
| " enablePartitionDiscovery | Для секционированных файлов укажите, следует ли анализировать секции из пути к файлу и добавлять их как дополнительные исходные столбцы. Допустимые значения: false (по умолчанию) и true. |
Нет |
| Корневой путь раздела | Если обнаружение секций включено, укажите абсолютный корневой путь, чтобы считывать секционированные папки как столбцы данных. Если параметр не задан (по умолчанию), происходит следующее. — При использовании пути к файлу в наборе данных или списке файлов в источнике корневым путем секции считается путь, настроенный в наборе данных. — При использовании фильтра папки с подстановочными знаками корневым путем раздела считается подчасть пути до первого подстановочного знака. — При использовании префикса, корневой путь раздела — это путь, который следует перед последним символом "/". Предположим, что вы настроили путь в наборе данных следующим образом: "root/folder/year=2020/month=08/day=27". — Если указать корневой путь секции "root/folder/year=2020", действие копирования в дополнение к указанным в файлах столбцам создаст еще два столбца, month и day, со значениями "08" и "27" соответственно.— Если корневой путь секции не указан, дополнительные столбцы создаваться не будут. |
Нет |
| максимальное количество одновременных подключений | Верхний предел одновременных подключений, установленных в хранилище данных при запуске задачи. Указывайте значение только при необходимости ограничить количество одновременных подключений. | Нет |
Пример:
"activities":[
{
"name": "CopyFromAmazonS3CompatibleStorage",
"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": "AmazonS3CompatibleReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Примеры фильтров папок и файлов
В этом разделе описывается итоговое поведение пути папки и имени файла при использовании фильтров с подстановочными знаками.
| контейнер | ключ | рекурсивный | Структура исходной папки и результат фильтрации (извлекаются файлы, выделенные полужирным шрифтом) |
|---|---|---|---|
| контейнер | Folder*/* |
ложь | контейнер ПапкаA Файл1.csv File2.json Вложенная папка1 File3.csv File4.json File5.csv ДругаяПапкаB Файл6.csv |
| контейнер | Folder*/* |
true | контейнер ПапкаA Файл1.csv File2.json Вложенная папка1 File3.csv File4.json File5.csv ДругаяПапкаB Файл6.csv |
| контейнер | Folder*/*.csv |
ложь | контейнер ПапкаA Файл1.csv File2.json Вложенная папка1 File3.csv File4.json File5.csv ДругаяПапкаB Файл6.csv |
| контейнер | Folder*/*.csv |
true | контейнер ПапкаA Файл1.csv File2.json Вложенная папка1 File3.csv File4.json File5.csv ДругаяПапкаB Файл6.csv |
Примеры списков файлов
В этом разделе описывается поведение при использовании пути списка файлов в источнике операции копирования.
Предположим, что у вас есть следующая исходная структура папок и вы хотите скопировать файлы, выделенные полужирным шрифтом:
| Пример исходной структуры | Содержимое в файле FileListToCopy.txt | Настройка |
|---|---|---|
| контейнер ПапкаA Файл1.csv File2.json Вложенная папка1 File3.csv File4.json File5.csv Метаданные FileListToCopy.txt |
Файл1.csv Вложенная_папка1/Файл3.csv Подпапка1/Файл5.csv |
В наборе данных: – Контейнер: bucket– Путь к папке: FolderAВ источнике действия "Копирование": – Путь к списку файлов: bucket/Metadata/FileListToCopy.txt Путь к списку файлов указывает на текстовый файл в том же хранилище данных, который содержит список файлов, которые вы хотите скопировать, с указанием одного файла на строку и относительным путем, который соответствует маршруту, настроенному в наборе данных. |
Свойства операции поиска
Подробные сведения об этих свойствах см. в разделе Действие поиска.
Свойства активности GetMetadata
Подробные сведения об этих свойствах см. в статье Действие GetMetadata.
Удалить свойства активности
Чтобы узнать подробности о свойствах, проверьте раздел Удаление действий.
Связанный контент
Список хранилищ данных, поддерживаемых Copy activity в качестве источников и приемников, см. в разделе Сопортированные хранилища данных.