Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНИМО К:
Azure Data Factory
Azure Synapse Analytics
Tip
Data Factory в Microsoft Fabric — это следующее поколение Azure Data Factory с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.
В этой статье описывается, как использовать Copy activity в конвейерах Azure Data Factory и Azure Synapse для копирования данных из и в Azure Blob Storage. В нем также описывается использование действия Data Flow для преобразования данных в Azure Blob Storage. Дополнительные сведения см. в статьях Azure Data Factory и Azure Synapse Analytics.
Tip
Чтобы узнать о сценарии миграции для озера данных или хранилища данных, прочитайте статью Миграция данных из озера данных или хранилища данных в Azure.
Поддерживаемые возможности
Этот соединитель Azure Blob Storage поддерживается для следующих возможностей:
| Поддерживаемые возможности | IR | Управляемая частная конечная точка |
|---|---|---|
| Копирование данных (источник/приемник) | (1) (2) | ✓ Исключение учетной записи хранения версии 1 |
| Сопоставление потока данных (источник/приемник) | ① | ✓ Исключение учетной записи хранения версии 1 |
| Поисковая активность | (1) (2) | ✓ Исключение учетной записи хранения версии 1 |
| Активность GetMetadata | (1) (2) | ✓ Исключение учетной записи хранения версии 1 |
| Удалить действие | (1) (2) | ✓ Исключение учетной записи хранения версии 1 |
(1) Azure среды выполнения интеграции (2) локальная среда выполнения интеграции
Для Copy activity этот соединитель Blob-хранилища поддерживает следующее:
- Копирование BLOB-объектов в учетные записи хранения общего назначения Azure и из них, а также в горячее и холодное хранилище BLOB-объектов.
- Копирование блобов с помощью ключа учетной записи, служебной общей сигнатуры доступа (SAS), служебного принципала или управляемых удостоверений для аутентификации ресурсов Azure.
- Копирование больших двоичных объектов из блочных, добавочных или страничных BLOB-объектов, а также копирование данных только в блочные BLOB-объекты.
- Копирование BLOB-объектов "как есть", анализ или создание BLOB-объектов c использованием поддерживаемых форматов файлов и кодеков сжатия.
- Сохранение метаданных файла во время копирования.
Get started
Для выполнения действия копирования с конвейером можно использовать один из следующих средств или пакетов SDK:
- Средство копирования данных
- портал Azure
- SDK .NET
- пакет SDK Python
- Azure PowerShell
- REST API
- шаблон Azure Resource Manager
Создание связанной службы Azure Blob Storage с помощью пользовательского интерфейса
Выполните следующие действия, чтобы создать связанную службу Azure Blob Storage в пользовательском интерфейсе портала Azure.
Перейдите на вкладку "Управление" в рабочей области Azure Data Factory или Synapse и выберите "Связанные службы", а затем нажмите кнопку "Создать".
Найдите Blob и выберите соединитель Azure Blob Storage.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Снимок экрана конфигурации для связанной службы Azure Blob Storage.
Сведения о конфигурации соединителя
Следующие разделы содержат сведения о свойствах, которые используются для определения сущностей конвейера Synapse и Data Factory, характерных для хранилища BLOB-объектов.
Свойства связанной службы
Этот соединитель хранилища объектов BLOB поддерживает следующие типы проверки подлинности. Дополнительные сведения см. в соответствующих разделах.
- Анонимная проверка подлинности
- Проверка подлинности на основе ключа учетной записи
- Аутентификация подписи с общим доступом
- Аутентификация сервисного принципала
- Проверка подлинности с помощью назначенного системой управляемого удостоверения
- Аутентификация с помощью управляемого удостоверения, назначаемого пользователем
Note
- Если вы хотите использовать глобальную среду выполнения интеграции Azure для подключения к вашему хранилищу BLOB-объектов, применив параметр
Разрешить доверенным службам Microsoft доступ к этой учетной записи хранения , включенный в брандмауэре Azure Storage, необходимо использовать проверку подлинности с помощью управляемой идентификатором. Дополнительные сведения о параметрах брандмауэров Azure Storage см. в разделе Configure Azure Storage брандмауэры и виртуальные сети. - При использовании инструкции PolyBase или COPY для загрузки данных в Azure Synapse Analytics, если ваше исходное или промежуточное Blob-хранилище настроено с использованием конечной точки Azure Virtual Network, необходимо использовать аутентификацию управляемым удостоверением, как требуется для Azure Synapse. Дополнительные предварительные требования к конфигурации см. в разделе Проверка подлинности с использованием управляемого удостоверения.
Note
действия Azure HDInsight и Azure Machine Learning поддерживают только проверку подлинности, использующую ключи учетной записи Azure Blob Storage.
Анонимная аутентификация
Следующие свойства поддерживаются для проверки подлинности ключа учетной записи хранения в конвейерах Azure Data Factory или Synapse:
| Property | Description | Required |
|---|---|---|
| type | Для свойства type должно быть задано значение AzureBlobStorage (предложено) или AzureStorage (см. следующие примечания). |
Yes |
| containerUri | Укажите URI контейнера Blob-объектов Azure с включенной поддержкой анонимного доступа на чтение, используя следующий формат https://<AccountName>.blob.core.windows.net/<ContainerName> и Настройте анонимный общедоступный доступ для чтения контейнеров и Blob-объектов |
Yes |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции (если хранилище данных находится в частной сети). Если это свойство не указано, служба использует среду выполнения интеграции по умолчанию Azure. | No |
Example:
{
"name": "AzureBlobStorageAnonymous",
"properties": {
"annotations": [],
"type": "AzureBlobStorage",
"typeProperties": {
"containerUri": "https:// <accountname>.blob.core.windows.net/ <containername>",
"authenticationType": "Anonymous"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Примеры пользовательского интерфейса:
Интерфейс пользовательского интерфейса описан на следующем рисунке. Этот пример использовал Azure открытый набор данных в качестве источника.
Проверка подлинности на основе ключа учетной записи
Следующие свойства поддерживаются для проверки подлинности ключа учетной записи хранения в конвейерах Azure Data Factory или Synapse:
| Property | Description | Required |
|---|---|---|
| type | Для свойства type должно быть задано значение AzureBlobStorage (предложено) или AzureStorage (см. следующие примечания). |
Yes |
| connectionString | В свойстве connectionString указываются сведения, необходимые для подключения к хранилищу. Вы также можете поместить ключ учетной записи в Azure Key Vault и извлечь конфигурацию accountKey из строки подключения. Дополнительные сведения см. в следующих примерах и в статье Store credentials in Azure Key Vault. |
Yes |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции (если хранилище данных находится в частной сети). Если это свойство не указано, служба использует среду выполнения интеграции по умолчанию Azure. | No |
Note
Вторичная конечная точка службы BLOB-объектов не поддерживается при использовании проверки подлинности ключа учетной записи. Можно использовать другие типы аутентификации.
Note
Если вы используете тип связанной службы AzureStorage, он по-прежнему поддерживается в текущем виде. Однако в дальнейшем мы предлагаем вам использовать новый тип связанной службы AzureBlobStorage.
Example:
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Example: сохраните ключ учетной записи в Azure Key Vault
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;",
"accountKey": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Аутентификация подписи совместного доступа (SAS)
Подпись общего доступа обеспечивает делегированный доступ к ресурсам в вашей учетной записи хранения. Вы можете использовать производный ключ доступа, чтобы предоставить клиенту ограниченные разрешения на объекты в вашей учетной записи хранения на определенный период.
Не нужно предоставлять совместный доступ к ключам доступа для учетной записи. Подписанный URL-адрес — это универсальный код ресурса (URI), который в своих параметрах запроса содержит все сведения, необходимые для доступа к ресурсу хранилища с прохождением аутентификации. Для доступа к ресурсам хранилища с помощью подписи общей доступа (SAS) клиенту достаточно передать её в соответствующий конструктор или метод.
Дополнительные сведения о подписанных URL-адресах для общего доступа см. в статье Подписанные URL-адреса для общего доступа (SAS): Понимание модели подписанных URL-адресов.
Note
- Теперь служба поддерживает как подписи общего доступа уровня службы, так и подписи общего доступа уровня учетной записи. Дополнительные сведения о подписях общего доступа см. в статье Предоставление ограниченного доступа к ресурсам Azure Storage с помощью подписей общего доступа.
- В более поздних конфигурациях набора данных путь к папке — это полный путь, начинающийся с уровня контейнера. Вам нужно настроить такой путь, соответствующий пути в вашем URI SAS.
Следующие свойства поддерживаются для использования аутентификации с помощью подписи общего доступа.
| Property | Description | Required |
|---|---|---|
| type | Для свойства type должно быть задано значение AzureBlobStorage (предложено) или AzureStorage (см. следующее примечание). |
Yes |
| sasUri | Укажите URI с подписью общего доступа для ресурсов хранилища, например, объекта BLOB или контейнера. Установите для этого поля метку SecureString для его безопасного хранения. Маркер SAS можно также поместить в Azure Key Vault, чтобы использовать автоматическую смену и удалить часть маркера. Дополнительные сведения см. в следующих примерах и в разделе Хранение учетных данных в Azure Key Vault. |
Yes |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции (если хранилище данных находится в частной сети). Если это свойство не указано, служба использует среду выполнения интеграции по умолчанию Azure. | No |
Note
Если вы используете тип связанной службы AzureStorage, он по-прежнему поддерживается в текущем виде. Однако в дальнейшем мы предлагаем вам использовать новый тип связанной службы AzureBlobStorage.
Example:
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource e.g. https://<accountname>.blob.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Example: сохраните ключ учетной записи в Azure Key Vault
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.blob.core.windows.net/>"
},
"sasToken": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName with value of SAS token e.g. ?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
При создании URI с общей подписью доступа необходимо учитывать следующее.
- Задайте для объектов соответствующие разрешения на чтение или запись. Они устанавливаются с учетом назначения связанной службы (чтение, запись, чтение и запись).
- Задайте время окончания срока действия соответствующим образом. Убедитесь, что срок действия доступа к объектам хранилища не истекает в период активности конвейера.
- В зависимости от потребности URI следует создать для нужного контейнера или BLOB-объекта. URI с подписью общего доступа для объекта BLOB позволяет Фабрике данных или конвейеру Synapse получить доступ к этому конкретному объекту BLOB. URI с общей подписью доступа для контейнера хранилища Blob позволяет Azure Data Factory или конвейеру Synapse перебирать объекты Blob в этом контейнере. Чтобы предоставить доступ к большему или меньшему количеству объектов позднее или обновить URI подписанного URL-адреса, не забудьте обновить связанную службу с помощью нового URI.
Аутентификация служебного принципала
Общие сведения о проверке подлинности субъекта-службы Azure Storage см. в статье Authenticate access to Azure Storage using Microsoft Entra ID.
Чтобы использовать проверку подлинности служебного принципала, выполните следующие действия.
Зарегистрируйте приложение с помощью Microsoft identity platform. Дополнительные сведения см. в статье Quickstart: регистрация приложения с помощью Microsoft identity platform. Запишите эти значения, которые используются для определения связанной службы:
- Идентификатор приложения
- ключ приложения.
- Идентификатор арендатора
Предоставьте субъекту-службе соответствующее разрешение в Azure Blob Storage. Дополнительные сведения о ролях см. в статье Использование портала Azure для назначения роли Azure для доступа к данным объектов blob и очередей.
- В качестве источника в Системе управления доступом (IAM) предоставьте как минимум роль Читатель данных хранилища Blob.
- В Системе управления идентификацией и доступом (IAM)приемнику необходимо выделить роль не ниже участника для данных BLOB-объектов хранилища.
Эти свойства поддерживаются для связанной службы Azure Blob Storage:
| Property | Description | Required |
|---|---|---|
| type | Для свойства type необходимо задать значение AzureBlobStorage. | Yes |
| serviceEndpoint | Укажите конечную точку службы Azure Blob Storage с шаблоном https://<accountName>.blob.core.windows.net/. |
Yes |
| accountKind | Укажите тип учетной записи хранения. Допустимые значения: Storage (общего назначения v1), StorageV2 (общее назначение версии 2), BlobStorage или BlockBlobStorage. При использовании связанной службы BLOB-объектов Azure в потоке данных управляемое удостоверение или проверка подлинности субъекта-службы не поддерживается, если тип учетной записи пуст или "Хранилище". Укажите корректный тип учетной записи, выберите другой способ аутентификации или обновите учетную запись хранения для общих целей версии 2. |
No |
| servicePrincipalId | Укажите идентификатора клиента приложения. | Yes |
| servicePrincipalCredentialType | Тип учетных данных, используемый для проверки подлинности служебного субъекта. Допустимые значения: ServicePrincipalKey и ServicePrincipalCert. | Yes |
| servicePrincipalCredential | Учетные данные сервисного принципала. При использовании в качестве типа учетных данных ServicePrincipalKey нужно указывать ключ приложения. Пометьте это поле как SecureString для безопасного хранения или для обращения к секрету, хранящемуся в Azure Key Vault. При использовании ServicePrincipalCert в качестве учетных данных, сослаться на сертификат в Azure Key Vault и убедиться, что тип контента сертификата PKCS #12. |
Yes |
| tenant | Укажите сведения о клиенте (доменное имя или идентификатор клиента), в котором находится приложение. Чтобы его получить, наведите указатель мыши в правый верхний угол портала Azure. | Yes |
| azureCloudType | Для проверки подлинности субъекта-службы укажите тип облачной среды Azure, в которой зарегистрировано приложение Microsoft Entra. Допустимые значения: AzurePublic, AzureChina, AzureUsGovernment и AzureGermany. По умолчанию используется облачная среда Фабрики данных Azure или конвейера Synapse. |
No |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции (если хранилище данных находится в частной сети). Если это свойство не указано, служба использует среду выполнения интеграции по умолчанию Azure. | No |
Note
- Если ваш аккаунт BLOB включает soft delete, проверка подлинности на основе служебного субъекта не поддерживается в Data Flow.
- Если доступ к хранилищу BLOB осуществляется через частную конечную точку с использованием Data Flow, обратите внимание, что при использовании проверки подлинности службы, Data Flow подключается к конечной точке ADLS Gen2 вместо конечной точки BLOB. Убедитесь, что вы создали соответствующую частную конечную точку в Фабрике данных Azure или в рабочей области Synapse, чтобы разрешить доступ.
Note
Аутентификация учетной записи службы поддерживается только типом связанной службы AzureBlobStorage, а не предыдущим типом связанной службы AzureStorage.
Example:
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
"accountKind": "StorageV2",
"servicePrincipalId": "<service principal id>",
"servicePrincipalKey": {
"type": "SecureString",
"value": "<service principal key>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Аутентификация с использованием системного управляемого удостоверения
Фабрику данных или конвейер Synapse можно связать с системным управляемым удостоверением для ресурсов Azure, что позволяет этому ресурсу проходить аутентификацию в других службах Azure. Это назначаемое системой управляемое удостоверение можно использовать для проверки подлинности хранилища Blob-объектов, как и собственный служебный принципал. Оно позволяет назначенному ресурсу получать доступ к данным и копировать их из/в хранилище объектов Blob. Дополнительные сведения об управляемых удостоверениях для ресурсов Azure см. в статье Управляемые удостоверения для ресурсов Azure
Общие сведения о проверке подлинности Azure Storage см. в разделе Authenticate access to Azure Storage using Microsoft Entra ID. Чтобы использовать управляемые удостоверения для проверки подлинности ресурсов Azure, выполните следующие действия.
Получите сведения о назначаемом системой управляемом удостоверении, скопировав значение идентификатора объекта назначаемого системой управляемого удостоверения, созданного вместе с рабочей областью Фабрики данных Azure или Synapse.
Предоставьте разрешение управляемого удостоверения в Azure Blob Storage. Дополнительные сведения о ролях см. в статье Использование портала Azure для назначения роли Azure для доступа к данным объектов blob и очередей.
- В качестве источника в Системе управления доступом (IAM) предоставьте как минимум роль Читатель данных хранилища Blob.
- В Системе управления идентификацией и доступом (IAM)приемнику необходимо выделить роль не ниже участника для данных BLOB-объектов хранилища.
Эти свойства поддерживаются для связанной службы Azure Blob Storage:
| Property | Description | Required |
|---|---|---|
| type | Для свойства type необходимо задать значение AzureBlobStorage. | Yes |
| serviceEndpoint | Укажите конечную точку службы Azure Blob Storage с шаблоном https://<accountName>.blob.core.windows.net/. |
Yes |
| accountKind | Укажите тип учетной записи хранения. Допустимые значения: Storage (общего назначения v1), StorageV2 (общее назначение версии 2), BlobStorage или BlockBlobStorage. При использовании связанной службы BLOB-объектов Azure в потоке данных управляемое удостоверение или проверка подлинности субъекта-службы не поддерживается, если тип учетной записи пуст или "Хранилище". Укажите корректный тип учетной записи, выберите другой способ аутентификации или обновите учетную запись хранения для общих целей версии 2. |
No |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции (если хранилище данных находится в частной сети). Если это свойство не указано, служба использует среду выполнения интеграции по умолчанию Azure. | No |
Example:
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
"accountKind": "StorageV2"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Проверка подлинности с помощью назначаемого пользователем управляемого удостоверения
Фабрике данных может быть назначено одно или несколько управляемых удостоверений, назначаемых пользователем. Вы можете использовать это управляемое удостоверение, назначенное пользователем, для аутентификации в хранилище BLOB-объектов, что позволяет получить доступ к данным и копировать их из хранилища BLOB-объектов или в него. Дополнительные сведения об управляемых удостоверениях для ресурсов Azure см. в статье Управляемые удостоверения для ресурсов Azure
Общие сведения о проверке подлинности Azure storage см. в разделе Authenticate access to Azure Storage using Microsoft Entra ID. Для использования проверки подлинности с помощью управляемого удостоверения, назначаемого пользователем, выполните приведенные ниже действия.
Создайте одно или несколько управляемых удостоверений, назначенных пользователем, и предоставьте разрешения в Azure Blob Storage. Дополнительные сведения о ролях см. в статье Использование портала Azure для назначения роли Azure для доступа к данным объектов blob и очередей.
- В качестве источника в Системе управления доступом (IAM) предоставьте как минимум роль Читатель данных хранилища Blob.
- В Системе управления идентификацией и доступом (IAM)приемнику необходимо выделить роль не ниже участника для данных BLOB-объектов хранилища.
Назначьте одно или несколько управляемых удостоверений, назначаемых пользователем, вашей фабрике данных и создайте учетные данные для каждого из таких удостоверений.
Эти свойства поддерживаются для связанной службы Azure Blob Storage:
| Property | Description | Required |
|---|---|---|
| type | Для свойства type необходимо задать значение AzureBlobStorage. | Yes |
| serviceEndpoint | Укажите конечную точку службы Azure Blob Storage с шаблоном https://<accountName>.blob.core.windows.net/. |
Yes |
| accountKind | Укажите тип учетной записи хранения. Допустимые значения: Storage (общего назначения v1), StorageV2 (общее назначение версии 2), BlobStorage или BlockBlobStorage. При использовании связанной службы Blob-объектов Azure в потоке данных управляемое удостоверение или аутентификация идентификации службы не поддерживаются, если тип учетной записи пуст или равен "Storage". Укажите корректный тип учетной записи, выберите другой способ аутентификации или обновите учетную запись хранения для общих целей версии 2. |
No |
| credentials | Укажите назначаемое пользователем управляемое удостоверение в качестве объекта учетных данных. | Yes |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции (если хранилище данных находится в частной сети). Если это свойство не указано, служба использует среду выполнения интеграции по умолчанию Azure. | No |
Example:
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
"accountKind": "StorageV2",
"credential": {
"referenceName": "credential1",
"type": "CredentialReference"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Important
Если вы используете инструкцию PolyBase или COPY для загрузки данных из хранилища BLOB-объектов (как источника или промежуточного) в Azure Synapse Analytics, при использовании проверки подлинности управляемого удостоверения для хранилища BLOB-объектов убедитесь, что вы также выполните шаги 1–3 в . С помощью этих шагов вы зарегистрируете сервер в Microsoft Entra ID и назначите роль участника данных BLOB-данных хранилища вашему серверу. Фабрика данных обрабатывает остальные компоненты. Если вы настраиваете хранилище объектов BLOB с конечной точкой Azure Virtual Network, необходимо также включить Разрешить доверенным сервисам Microsoft доступ к этой учетной записи хранения в разделе Azure Storage учетной записи Межсетевые экраны и виртуальные сети в меню параметров, как требуется для Azure Synapse.
Note
- Если ваша учетная запись blob включает soft delete, проверка подлинности управляемого удостоверения, назначаемого системой или пользователем, не поддерживается в Data Flow.
- Если доступ к хранилищу BLOB-объектов осуществляется через частную конечную точку с помощью Data Flow, обратите внимание, что при использовании аутентификации с управляемым удостоверением, назначаемым системой или пользователем, Data Flow подключается к конечной точке ADLS 2-го поколения вместо конечной точки хранилища BLOB-объектов. Обязательно создайте соответствующую частную конечную точку в ADF, чтобы обеспечить доступ.
Note
Аутентификация с помощью назначаемого пользователем/системой управляемого удостоверения поддерживается только связанной службой типа "AzureBlobStorage", но не связанной службой предыдущего типа "AzureStorage".
Свойства набора данных
Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных.
Azure Data Factory поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.
- Формат Avro
- Двоичный формат
- Формат текста с разделителями
- формат Excel
- Формат JSON
- Формат ORC
- Формат файла Parquet
- ФОРМАТ XML
Следующие свойства поддерживаются для Azure Blob Storage в разделе location в наборе данных на основе формата:
| Property | Description | Required |
|---|---|---|
| type | Свойство type для расположения в наборе данных должно иметь значение AzureBlobStorageLocation. | Yes |
| container | Контейнер больших двоичных объектов. | Yes |
| folderPath | Путь к папке в заданном контейнере. Если вы хотите использовать подстановочный знак для фильтрации папок, пропустите этот параметр и укажите его в параметрах источника действия. | No |
| fileName | Имя файла в заданном контейнере и путь к папке. Если вы хотите использовать подстановочный знак для фильтрации файлов, пропустите этот параметр и укажите его в параметрах источника действия. | No |
Example:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Azure Blob Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "containername",
"folderPath": "folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Свойства Copy activity
Полный список разделов и свойств, доступных для определения действий, см. в статье Конвейеры. В этом разделе приведен список свойств, поддерживаемых источником и получателем хранилища объектов Blob.
Хранилище BLOB как тип источника
Azure Data Factory поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.
- Формат Avro
- Двоичный формат
- Формат текста с разделителями
- формат Excel
- Формат JSON
- Формат ORC
- Формат файла Parquet
- ФОРМАТ XML
Следующие свойства поддерживаются для Azure Blob Storage в разделе параметров, связанных с источником копирования, работающим на основе формата storeSettings.
| Property | Description | Required |
|---|---|---|
| type | Для свойства type в разделе storeSettings необходимо задать значение AzureBlobStorageReadSettings. |
Yes |
| Найдите файлы для копирования: | ||
| ВАРИАНТ 1. Статический путь |
Копирование из заданного контейнера или из папки/пути к файлу, указанного в наборе данных. Если вы хотите скопировать все блобы из контейнера или папки, дополнительно укажите wildcardFileName в качестве *. |
|
| ВАРИАНТ 2. Префикс BLOB-объекта - префикс |
Префикс для имени BLOB-объекта в заданном контейнере, настроенном в наборе данных для фильтрации исходных BLOB-объектов. Выбираются BLOB-объекты, имена которых начинаются с container_in_dataset/this_prefix. Используется фильтр на стороне службы для хранилища Blob, который более эффективен, чем фильтр с подстановочными знаками.При использовании префикса и выборе копирования в файловый приемник с сохранением иерархии обратите внимание, что подпуть после последнего "/" в префиксе сохраняется. Например, если у вас есть источник container/folder/subfolder/file.txt, и вы настроили префикс как folder/sub, то сохраненный путь к файлу будет subfolder/file.txt. |
No |
| Вариант 3. Подстановочный знак — подстановочный знакFolderPath |
Путь к папке с подстановочными знаками в заданном контейнере, настроенном в наборе данных для фильтрации исходных папок. Допустимые знаки подстановки: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу). Используйте ^ для экранирования знаков, если имя папки содержит подстановочный знак или этот escape-символ. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов. |
No |
| Вариант 3. Подстановочный знак — wildcardFileName |
Имя файла с подстановочными знаками в заданном контейнере и путь к папке (или путь к папке в виде подстановочного знака) для фильтрации исходных папок. Допустимые знаки подстановки: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу). Используйте ^ для экранирования, если имя файла содержит подстановочный знак или escape-последовательность. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов. |
Yes |
| ВАРИАНТ 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 |
Note
Для формата Parquet/разделенного текстового формата тип BlobSource для источника действия копирования, упоминаемого в следующем разделе, по-прежнему поддерживается в целях обратной совместимости. Рекомендуется использовать новую модель, пока интерфейс создания не начнет генерировать новые типы.
Example:
"activities":[
{
"name": "CopyFromBlob",
"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": "AzureBlobStorageReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Note
Контейнер $logs, который создается автоматически при включении Storage Analytics для учетной записи хранения, не отображается при выполнении операции перечисления контейнеров с помощью пользовательского интерфейса. Необходимо прямо указать путь к файлу для вашего конвейера данных или конвейера Synapse, чтобы обращаться к файлам из контейнера $logs.
BLOB-хранилище как тип приемника
Azure Data Factory поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.
- Формат Avro
- Двоичный формат
- Формат текста с разделителями
- Формат JSON
- Формат ORC
- Формат файла Parquet
Следующие свойства поддерживаются для Azure Blob Storage в настройках storeSettings в приемнике копирования, основанном на формате:
| Property | Description | Required |
|---|---|---|
| type | Для свойства type в storeSettings должно быть установлено значение AzureBlobStorageWriteSettings. |
Yes |
| copyBehavior | Определяет поведение копирования, когда источником являются файлы из файлового хранилища данных. Допустимые значения: — PreserveHierarchy (по умолчанию). Сохраняет иерархию файлов в целевой папке. Относительный путь исходного файла в исходной папке идентичен относительному пути целевого файла в целевой папке. — FlattenHierarchy. Все файлы из исходной папки размещаются на первом уровне в целевой папке. Целевые файлы имеют автоматически сформированные имена. — MergeFiles. Объединяет все файлы из исходной папки в один файл. Если указано имя блоба или имя файла, то объединенный файл получит это имя. В противном случае присваивается автоматически созданное имя файла. |
No |
| blockSizeInMB | Укажите размер блока в мегабайтах, используемый для записи данных в блочные BLOB-объекты. Узнайте больше о блочных BLOB-объектaх. Допустимое значение — от 4 до 100 МБ. По умолчанию служба автоматически определяет размер блока на основе типа и данных исходного хранилища. Для недвоичного копирования в хранилище BLOB-объектов размер блока по умолчанию составляет 100 МБ, поэтому он может вместить не более 4,95 ТБ данных. Это может быть неоптимальным, если данные не большие, особенно если вы используете локальную среду выполнения интеграции с плохими сетевыми подключениями, которые приводят к проблемам времени ожидания операции или производительности. Вы можете явно указать размер блока, обеспечивая blockSizeInMB*50000 достаточно большой размер для хранения данных. В противном случае выполнение действия копирования завершится ошибкой. |
No |
| maxConcurrentConnections | Верхний предел одновременных подключений, установленных в хранилище данных во время выполнения активности. Указывайте значение только при необходимости ограничить количество одновременных подключений. | No |
| metadata | Задайте пользовательские метаданные при копировании в приемник. Каждый объект в массиве metadata представляет дополнительный столбец.
name определяет имя ключа метаданных, а value указывает значение данных этого ключа. Если используется функция сохранения атрибутов, указанные метаданные будут объединены с метаданными исходного файла или перезаписаны ими.Допустимые значения: - $$LASTMODIFIED: зарезервированная переменная указывает на сохранение времени последнего изменения исходных файлов. Она применяется к файловому источнику, который может быть только в двоичном формате.Выражение - Статическое значение |
No |
Example:
"activities":[
{
"name": "CopyFromBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Parquet output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "ParquetSink",
"storeSettings":{
"type": "AzureBlobStorageWriteSettings",
"copyBehavior": "PreserveHierarchy",
"metadata": [
{
"name": "testKey1",
"value": "value1"
},
{
"name": "testKey2",
"value": "value2"
},
{
"name": "lastModifiedKey",
"value": "$$LASTMODIFIED"
}
]
}
}
}
}
]
Примеры фильтров папок и файлов
В этом разделе описывается поведение пути папки и имени файла при использовании фильтров с подстановочными знаками.
| folderPath | fileName | recursive | Структура исходной папки и результат фильтрации (извлекаются файлы, выделенные полужирным шрифтом) |
|---|---|---|---|
container/Folder* |
(пусто, используйте по умолчанию) | false | container FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
container/Folder* |
(пусто, используйте по умолчанию) | true | container FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
container/Folder* |
*.csv |
false | container FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
container/Folder* |
*.csv |
true | container FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Примеры списков файлов
В этом разделе описывается поведение, возникающее при использовании пути к списку файлов в источнике деятельности копирования.
Предположим, что у вас есть следующая исходная структура папок и вы хотите скопировать файлы, выделенные полужирным шрифтом:
| Пример исходной структуры | Содержимое в файле FileListToCopy.txt | Configuration |
|---|---|---|
| container FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv Metadata FileListToCopy.txt |
File1.csv Subfolder1/File3.csv Subfolder1/File5.csv |
В наборе данных: - Контейнер: container– Путь к папке: FolderAВ источнике действия "Копирование": – Путь к списку файлов: container/Metadata/FileListToCopy.txt Путь к списку файлов указывает на текстовый файл в том же хранилище данных, включающее список файлов, которые требуется скопировать. Он включает один файл на строку с относительным путем к пути, настроенного в наборе данных. |
Некоторые примеры recursive и copyBehavior
В данном разделе описываются результаты выполнения операции копирования при использовании различных сочетаний значений recursive и copyBehavior.
| recursive | copyBehavior | Структура папок источника | Полученная цель |
|---|---|---|---|
| true | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая папка "Папка1" создается с такой же структурой, как и исходная папка: Folder1 File1 File2 Subfolder1 File3 File4 File5 |
| true | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая папка Folder1 создается со следующей структурой: Folder1 автоматически созданное имя для "Файл1" автоматически созданное имя для файла2 автогенерированное имя для Файл3 автоматически созданное имя для File4 автоматически созданное имя для "Файл5" |
| true | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая папка Folder1 создается со следующей структурой: Folder1 Содержимое файлов "Файл1", "Файл2", "Файл3", "Файл4" и "Файл5" объединяется в один файл с автоматически созданным именем. |
| false | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая папка Folder1 создается со следующей структурой: Folder1 File1 File2 Папка "Subfolder1" с файлами "Файл3", "Файл4" и "Файл5" не обнаружена. |
| false | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая папка Folder1 создается со следующей структурой: Folder1 автоматически созданное имя для "Файл1" автоматически созданное имя для файла2 Папка "Subfolder1" с файлами "Файл3", "Файл4" и "Файл5" не обнаружена. |
| false | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая папка "Папка1" создается со следующей структурой. Folder1 Содержимое файлов "Файл1" и "Файл2" объединяется в один файл с автоматически созданным именем. автоматически созданное имя для "Файл1" Папка "Subfolder1" с файлами "Файл3", "Файл4" и "Файл5" не обнаружена. |
Сохранение метаданных во время копирования
При копировании файлов из Amazon S3, Azure Blob Storage или Azure Data Lake Storage Gen2 в Azure Data Lake Storage Gen2 или Azure Blob Storage можно сохранить метаданные файла вместе с данными. Подробнее см. в разделе Сохранение метаданных.
Сопоставление свойств потока данных
При преобразовании данных в потоках данных сопоставления можно считывать и записывать файлы из Azure Blob Storage в следующих форматах:
Конкретные параметры приведены в документации для соответствующего формата. Дополнительные сведения см. в статьях Преобразование источника в потоке данных для сопоставления и Преобразование приемника в потоке данных для сопоставления.
Преобразование источника
При преобразовании источника можно считывать данные из контейнера, папки или отдельного файла в Azure Blob Storage. Используйте вкладку Параметры источника для управления чтением файлов.
Пути с подстановочными знаками: Использование шаблона с подстановочными знаками указывает службе перебрать каждую соответствующую папку и файл в ходе одного преобразования источника. Это эффективный способ обработки нескольких файлов в одном потоке. Добавьте несколько шаблонов сопоставления с подстановочными знаками с помощью значка "плюс", который появляется при наведении указателя мыши на существующий шаблон с подстановочными знаками.
В исходном контейнере выберите файлы, соответствующие шаблону. В наборе данных можно указать только контейнер. Ваш путь с подстановочными знаками должен также включать путь к папке, начиная с корневой папки.
Примеры подстановочных знаков:
*— представляет любой набор символов.**— представляет рекурсивную вложенность каталога.?— заменяет один символ.[]— соответствует одному или нескольким символам в квадратных скобках./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), то верхний уровень этого дерева секционированной папки можно назначить имени столбца в потоке данных.
Во-первых, задайте подстановочный знак, чтобы включить все пути, которые содержатся в секционированных папках, и конечные файлы, которые вы хотите прочитать.
Для определения верхнего уровня структуры папок используйте параметр Корневой путь раздела. При просмотре содержимого данных с помощью предварительного просмотра данных вы увидите, что служба добавляет разрешенные секции, найденные на каждом из уровней папок.
Список файлов: это набор файлов. Создайте текстовый файл, который включает список относительных путей файлов для обработки. Укажите на этот текстовый файл.
Столбец для хранения имени файла: сохраните имя исходного файла в столбце в данных. Укажите здесь новое имя столбца для хранения строки имени файла.
После завершения: выберите ничего делать с исходным файлом после запуска потока данных, удалите исходный файл или переместите исходный файл. Пути для перемещения являются относительными.
Чтобы переместить исходные файлы в другое расположение после обработки, сначала выберите "Переместить" для операции с файлом. Затем задайте исходный каталог. Если вы не используете подстановочные знаки для пути, в настройке "from" будет использоваться та же папка, что и ваш исходный каталог.
Если у вас есть исходный путь с подстановочным знаком, синтаксис выглядит следующим образом:
/data/sales/20??/**/*.csv
Можно указать «from» как:
/data/sales
А в качестве целевой точки можно указать:
/backup/priorSales
В этом случае все файлы, источником которых является папка /data/sales, перемещаются в папку /backup/priorSales.
Note
Операции с файлами выполняются только при запуске потока данных из конвейера данных (отладка или выполнение конвейера), который использует действие выполнения потока данных в конвейере. Операции с файлами не выполняются в режиме отладки Data Flow.
Фильтр по последнему изменению: вы можете отфильтровать файлы для обработки, указав диапазон дат момента последнего изменения. Все значения даты и времени указаны в формате UTC.
Включите запись измененных данных: если верно, вы получите новые или измененные файлы только после последнего запуска. При первом запуске всегда выполняется начальная загрузка данных, то есть получается полный моментальный снимок, а при следующих запусках записываются только новые или измененные файлы.
Свойства приемника
В синковом преобразовании вы можете записывать в контейнер или папку в Azure Blob Storage. Используйте вкладку Параметры для управления записью файлов.
Очистить папку: определяет, очищается ли целевая папка перед записью данных.
Параметр имени файла: определяет, как целевые файлы именуются в целевой папке. Доступные параметры имени файла:
- По умолчанию: разрешить SPARK назначать файлы в соответствии с исходными настройками PART.
-
Шаблон. Введите шаблон, который перечисляет выходные файлы на секцию. Например,
loans[n].csvсоздаетloans1.csvиloans2.csvт. д. - На раздел: введите одно имя файла для каждого раздела.
- Как данные в столбце: задайте выходной файл значению столбца. Путь задается относительно контейнера набора данных, а не папки назначения. Если в вашем наборе данных указан путь к папке, он будет переопределен.
- Выходные данные в один файл: объединение секционированных выходных файлов в один именованный файл. Путь задается относительно папки набора данных. Операция слияния может завершиться ошибкой в зависимости от размера узла. Этот параметр не рекомендуется использовать для больших наборов данных.
Все в кавычках: указывает, следует ли заключать все значения в кавычки.
Свойства действия поиска
Подробные сведения об этих свойствах см. в разделе Действие поиска.
Свойства операции GetMetadata
Подробные сведения об этих свойствах см. в статье Действие GetMetadata.
Свойства удаления активности
Чтобы узнать подробности о свойствах, ознакомьтесь со статьей Удаление активности.
Устаревшие модели
Note
Следующие модели по-прежнему поддерживаются на условиях "как есть" для обеспечения обратной совместимости. Рекомендуется использовать новую модель, упомянутую ранее. Интерфейс создания перешёл на генерацию новой модели.
Устаревшая модель набора данных
| Property | Description | Required |
|---|---|---|
| type | Свойство type набора данных должно иметь значение AzureBlob. |
Yes |
| folderPath | Путь к контейнеру и папке в хранилище объектов Blob. Фильтр с подстановочными символами поддерживается для пути, за исключением имени контейнера. Допустимые знаки подстановки: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу). Используйте ^ для экранирования символов, если имя папки содержит подстановочный знак или эту управляющую последовательность. Пример: myblobcontainer/myblobfolder/. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов. |
Yes для действия Copy или Lookup, No для действия GetMetadata |
| fileName | Имя или фильтр подстановочных символов для объектов BLOB по указанному значению folderPath. Если этому свойству не присвоить значение, набор данных будет указывать на все блобы в папке. Допустимые знаки подстановки для фильтра: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу).Пример 1. "fileName": "*.csv"Пример 2. "fileName": "???20180427.txt"Используйте ^ для экранирования, если имя файла содержит подстановочный знак или escape-последовательность.Если fileName не указан для выходного набора данных и preserveHierarchy не указан в приемнике действий, то действие копирования автоматически создает имя большого двоичного объекта по следующему шаблону: "Data.[идентификатор GUID выполнения действия].[GUID, если FlattenHierarchy].[формат, если настроено].[сжатие, если настроено]". Например, "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz". При копировании из табличного источника с использованием имени таблицы вместо запроса формат имени будет таким: " [table name].[format].[compression if configured] ". Например, "MyTable.csv". |
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 |
Tip
Чтобы скопировать все блобы в папке, укажите только folderPath.
Чтобы скопировать один BLOB-объект с заданным именем, укажите folderPath для части папки и fileName для имени файла.
Чтобы скопировать подмножество объектов в папке, укажите folderPath для части папки и fileName с подстановочным фильтром.
Example:
{
"name": "AzureBlobDataset",
"properties": {
"type": "AzureBlob",
"linkedServiceName": {
"referenceName": "<Azure Blob Storage linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "mycontainer/myfolder",
"fileName": "*",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Устаревшая исходная модель для Copy activity
| Property | Description | Required |
|---|---|---|
| type | Свойство type источника Copy activity должно иметь значение BlobSource. |
Yes |
| recursive | Указывает, считываются ли данные рекурсивно из подпапок или только из указанной папки. Если recursive установлено на true, и приемник является файловым хранилищем, пустая папка или подпапка не копируется и не создается в приемнике.Допустимые значения: true (по умолчанию) и false. |
No |
| maxConcurrentConnections | Верхний предел одновременных подключений, установленных в хранилище данных во время выполнения активности. Указывайте значение только при необходимости ограничить количество одновременных подключений. | No |
Example:
"activities":[
{
"name": "CopyFromBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "<Azure Blob input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "BlobSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
Устаревшая модель приемника для Copy activity
| Property | Description | Required |
|---|---|---|
| type | Свойство type приемника Copy activity должно иметь значение BlobSink. |
Yes |
| copyBehavior | Определяет поведение копирования, когда источником являются файлы из файлового хранилища данных. Допустимые значения: — PreserveHierarchy (по умолчанию). Сохраняет иерархию файлов в целевой папке. Относительный путь исходного файла в исходной папке идентичен относительному пути целевого файла в целевой папке. — FlattenHierarchy. Все файлы из исходной папки размещаются на первом уровне в целевой папке. Целевые файлы имеют автоматически сформированные имена. — MergeFiles. Объединяет все файлы из исходной папки в один файл. Если указано имя блоба или имя файла, то объединенный файл получит это имя. В противном случае присваивается автоматически созданное имя файла. |
No |
| maxConcurrentConnections | Верхний предел одновременных подключений, установленных в хранилище данных во время выполнения активности. Указывайте значение только при необходимости ограничить количество одновременных подключений. | No |
Example:
"activities":[
{
"name": "CopyToBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Azure Blob output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "BlobSink",
"copyBehavior": "PreserveHierarchy"
}
}
}
]
фикcирование изменений данных
Azure Data Factory может получать новые или измененные файлы только из Azure Blob Storage, включив **включение захвата измененных данных** в преобразовании источника данных сопоставления. Этот параметр соединителя позволяет считывать только новые или обновленные файлы и применять преобразования перед загрузкой преобразованных данных в нужные целевые наборы. Дополнительные сведения см. в статье об отслеживании измененных данных .
Связанный контент
Список хранилищ данных, поддерживаемых Copy activity в качестве источников и приемников, см. в разделе Сопортированные хранилища данных.