Копирование и преобразование данных в Azure Data Lake Storage 2-го поколения с помощью Фабрика данных Azure или Azure Synapse Analytics

ПРИМЕНИМО К: Фабрика данных Azure Azure Synapse Analytics

Tip

Data Factory в Microsoft Fabric — это следующее поколение Фабрика данных Azure с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.

Azure Data Lake Storage 2-го поколения (ADLS 2-го поколения) — это набор возможностей, предназначенных для аналитики больших данных, встроенных в хранилище BLOB-объектов Azure. С его помощью можно работать с данными с использованием парадигмы файловой системы или хранилища объектов.

Note

Этот соединитель также доступен в Data Factory в Microsoft Fabric. Сведения о конфигурации и функциях Fabric см. в документации по соединителю Fabric Azure Data Lake Storage 2-го поколения.

В этой статье описывается, как использовать действие копирования для копирования данных из Azure Data Lake Storage 2-го поколения и использования Поток данных для преобразования данных в Azure Data Lake Storage 2-го поколения. Дополнительные сведения см. в вводной статье Фабрика данных Azure или Azure Synapse Analytics.

Tip

Для получения дополнительных сведений о сценарии миграции озера данных или хранилища данных см. статью Перемещение данных из озера данных или хранилища данных в Azure.

Поддерживаемые возможности

Этот соединитель Azure Data Lake Storage 2-го поколения поддерживается для следующих возможностей:

Поддерживаемые возможности IR Управляемая частная конечная точка
Копирование данных (источник/приемник) (1) (2)
Сопоставление потока данных (источник/приемник)
Поисковая активность (1) (2)
Активность GetMetadata (1) (2)
Удалить действие (1) (2)

(1) Azure среды выполнения интеграции (2) локальная среда выполнения интеграции

Для функции действие Copy с помощью этого соединителя можно:

Get started

Tip

Пошаговое руководство по использованию соединителя Data Lake Storage 2-го поколения см. в статье Load data in Azure Data Lake Storage 2-го поколения.

Для выполнения действия копирования с конвейером можно использовать один из следующих средств или пакетов SDK:

Создание связанной службы Azure Data Lake Storage 2-го поколения с помощью пользовательского интерфейса

Выполните следующие действия, чтобы создать связанную службу Azure Data Lake Storage 2-го поколения в пользовательском интерфейсе портала Azure.

  1. Перейдите на вкладку "Управление" в рабочей области Фабрика данных Azure или Synapse и выберите "Связанные службы", а затем нажмите кнопку "Создать".

  2. Найдите Azure Data Lake Storage 2-го поколения и выберите соединитель Azure Data Lake Storage 2-го поколения.

    Выберите соединитель Azure Data Lake Storage 2-го поколения.

  3. Настройте сведения о службе, проверьте подключение и создайте связанную службу.

    Скриншот конфигурации связанной службы Azure Data Lake Storage 2-го поколения.

Сведения о конфигурации соединителя

В следующих разделах содержатся сведения о свойствах, используемых для определения сущностей конвейера Фабрики данных и Synapse, относящихся к Data Lake Storage 2-го поколения.

Свойства линкованного сервиса

Соединитель Azure Data Lake Storage 2-го поколения поддерживает следующие типы проверки подлинности. Дополнительные сведения см. в соответствующих разделах:

Note

  • Если вы хотите использовать глобальную среду выполнения интеграции Azure для подключения к Data Lake Storage 2-го поколения, включив опцию Разрешить доступ доверенным службам Microsoft к этой учетной записи хранения в брандмауэре служба хранилища Azure, необходимо использовать проверку подлинности с помощью управляемой идентификации. Дополнительные сведения о параметрах брандмауэров служба хранилища Azure см. в разделе Configure служба хранилища Azure брандмауэры и виртуальные сети.
  • При использовании инструкции PolyBase или COPY для загрузки данных в Azure Synapse Analytics, если ваш исходный или промежуточный Data Lake Storage 2-го поколения настроен с использованием конечной точки Azure Virtual Network, необходимо использовать проверку подлинности управляемого удостоверения в соответствии с требованиями Azure Synapse. Дополнительные предварительные требования к конфигурации см. в разделе Проверка подлинности с использованием управляемого удостоверения.

Проверка подлинности на основе ключа учетной записи

При использовании проверки подлинности на основе ключа учетной записи поддерживаются следующие свойства.

Property Description Required
type Для свойства type необходимо задать значение AzureBlobFS. Yes
url Конечная точка для Data Lake Storage 2-го поколения с шаблоном https://<accountname>.dfs.core.windows.net. Yes
accountKey Ключ учетной записи для Data Lake Storage 2-го поколения. Пометьте это поле как SecureString, чтобы безопасно хранить его, или ссылаться на секрет, хранящийся в Azure Key Vault. Yes
connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции, если хранилище данных находится в частной сети. Если это свойство не указано, используется среда выполнения интеграции Azure по умолчанию. No

Note

Вторичная конечная точка файловой системы ADLS не поддерживается при использовании проверки подлинности ключа учетной записи. Можно использовать другие типы аутентификации.

Example:

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
            "accountkey": { 
                "type": "SecureString", 
                "value": "<accountkey>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Аутентификация с использованием общей подписи доступа (SAS)

Подпись общего доступа обеспечивает делегированный доступ к ресурсам в вашей учетной записи хранения. Вы можете использовать доступ с разделяемой подписью, чтобы предоставить клиенту ограниченные разрешения на работу с объектами в вашей учетной записи хранения в течение определенного времени.

Не нужно предоставлять совместный доступ к ключам доступа для учетной записи. Подписанный URL-адрес — это универсальный код ресурса (URI), который в своих параметрах запроса содержит все сведения, необходимые для доступа к ресурсу хранилища с прохождением аутентификации. Для доступа к ресурсам хранилища с помощью подписи общего доступа (SAS), клиенту нужно только передать SAS в соответствующий конструктор или метод.

Для получения дополнительной информации о подписях общего доступа см. статью Подписи общего доступа: понимание модели подписи общего доступа.

Note

Следующие свойства поддерживаются для использования проверки подлинности на основе общей подписанной строки доступа.

Property Description Required
type Свойство type должно иметь значение AzureBlobFS (предлагаемое) Yes
sasUri Укажите URI подписи общего доступа для ресурсов хранилища, таких как BLOB или контейнер.
Установите для этого поля метку SecureString для его безопасного хранения. Маркер SAS можно также поместить в Azure Key Vault, чтобы использовать автоматическую смену и удалить часть маркера. Дополнительные сведения см. в следующих примерах и в разделе Хранение учетных данных в Azure Key Vault.
Yes
connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции (если хранилище данных находится в частной сети). Если это свойство не указано, служба использует среду выполнения интеграции по умолчанию Azure. No

Note

Если вы используете тип связанной службы AzureStorage, он по-прежнему поддерживается в текущем виде. Но мы предлагаем в дальнейшем использовать новый тип связанной службы AzureDataLakeStorageGen2.

Example:

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "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": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "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 подписанного URL-адреса для большого двоичного объекта позволяет Фабрике данных Azure или конвейеру Synapse получить доступ к определенному большому двоичному объекту. URI подписанного общего доступа к контейнеру хранилища больших двоичных объектов позволяет Azure Data Factory или конвейеру Synapse выполнять итерацию по большим двоичным объектам в этом контейнере. Чтобы предоставить доступ к большему или меньшему количеству объектов позднее или обновить URI подписанного URL-адреса, не забудьте обновить связанную службу с помощью нового URI.

Аутентификация сервисного субъекта

Чтобы использовать аутентификацию с помощью учетной записи службы, выполните следующие действия.

  1. Зарегистрируйте приложение с помощью платформа удостоверений Майкрософт. Дополнительные сведения см. в статье Quickstart: регистрация приложения с помощью платформа удостоверений Майкрософт. Запишите эти значения, которые используются для определения связанной службы:

    • Идентификатор приложения
    • ключ приложения.
    • Идентификатор арендатора
  2. Предоставьте сервисному принципалу правильное разрешение. Примеры того, как работают разрешения в Data Lake Storage 2-го поколения из списков управления доступом на файлы и каталоги Access

    • В "Обозреватель службы хранилища" предоставьте как минимум разрешение Execute для всех родительских папок и файловой системы, а также разрешение Read для файлов, которые необходимо копировать. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Модуль чтения данных BLOB-объектов хранилища.
    • В качестве конечного узла: В Обозреватель службы хранилища предоставьте разрешения, по крайней мере, Execute для всех вышестоящих папок и файловой системы, а также Write для папки назначения. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Участник для данных BLOB-объектов хранилища.

Note

Если вы используете пользовательский интерфейс для создания, и для служебного главного объекта не установлена роль "Читатель данных BLOB-объектов хранилища или Участник" в IAM, во время тестирования подключения или просмотра/навигации по папкам выберите "Проверить подключение к пути к файлу" или "Обзор из указанного пути", а затем укажите путь с разрешением Чтение + Выполнение для продолжения.

Приведенные ниже свойства поддерживаются в связанной службе.

Property Description Required
type Для свойства type необходимо задать значение AzureBlobFS. Yes
url Конечная точка для Data Lake Storage 2-го поколения с шаблоном https://<accountname>.dfs.core.windows.net. Yes
servicePrincipalId Укажите идентификатора клиента приложения. Yes
servicePrincipalCredentialType Тип учетных данных для использования при аутентификации служебного принципала. Допустимые значения: ServicePrincipalKey и ServicePrincipalCert. Yes
servicePrincipalCredential Учетные данные субъекта-службы.
При использовании в качестве типа учетных данных ServicePrincipalKey нужно указывать ключ приложения. Пометьте это поле как SecureString для безопасного хранения или для обращения к секрету, хранящемуся в Azure Key Vault.
При использовании ServicePrincipalCert в качестве учетных данных, сослаться на сертификат в Azure Key Vault и убедиться, что тип контента сертификата PKCS #12.
Yes
servicePrincipalKey Укажите ключ приложения. Пометьте это поле как SecureString для безопасного хранения или для обращения к секрету, хранящемуся в Azure Key Vault.
Это свойство по-прежнему поддерживается "как есть" для servicePrincipalId + servicePrincipalKey. Когда ADF добавляет проверку подлинности с использованием сертификата нового субъекта-службы, новая модель проверки подлинности для субъекта-службы представляется в следующем виде: servicePrincipalId + servicePrincipalCredentialType + servicePrincipalCredential.
No
tenant Укажите сведения о клиенте (доменное имя или идентификатор клиента), в котором находится приложение. Чтобы получить его, наведите указатель мыши на правый верхний угол портала Azure. Yes
azureCloudType Для проверки подлинности субъекта-службы укажите тип облачной среды Azure, в которой зарегистрировано приложение Microsoft Entra.
Допустимые значения: AzurePublic, AzureChina, AzureUsGovernment и AzureGermany. По умолчанию используется облачная среда Фабрики данных Azure или конвейера Synapse.
No
connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции, если хранилище данных находится в частной сети. Если не указано, используется среда выполнения интеграции по умолчанию Azure. No

Пример: использование аутентификации с помощью ключа учетной записи сервиса

Вы также можете хранить ключ учетной записи службы в Azure Key Vault.

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalKey",
            "servicePrincipalCredential": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Пример: использование аутентификации с помощью сертификата service principal

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalCert",
            "servicePrincipalCredential": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<AKV reference>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<certificate name in AKV>" 
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Проверка подлинности с помощью назначенного системой управляемого удостоверения

Фабрика данных или рабочая область Synapse могут быть связаны с управляемым удостоверением, назначаемым системой. Это системно назначенное управляемое удостоверение можно напрямую использовать для аутентификации Data Lake Storage 2-го поколения, аналогично использованию собственного Principal-службы. Он позволяет этой указанной фабрике или рабочей области получать доступ к данным и копировать их в или из Data Lake Storage 2-го поколения.

Для использования проверки подлинности с помощью управляемого удостоверения, назначаемого системой, выполните приведенные ниже действия.

  1. Получите сведения об управляемом удостоверении, назначаемом системой, скопировав значение идентификатора объекта управляемого удостоверения, созданного вместе с рабочей областью Фабрики данных или Synapse.

  2. Управляемому удостоверению, назначенному системой, предоставьте соответствующее разрешение. См. примеры работы разрешений в Data Lake Storage 2-го поколения из списков управления доступом на файлы и каталоги.

    • В "Обозреватель службы хранилища" предоставьте как минимум разрешение Execute для всех родительских папок и файловой системы, а также разрешение Read для файлов, которые необходимо копировать. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Модуль чтения данных BLOB-объектов хранилища.
    • В качестве конечного узла: В Обозреватель службы хранилища предоставьте разрешения, по крайней мере, Execute для всех вышестоящих папок и файловой системы, а также Write для папки назначения. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Участник для данных BLOB-объектов хранилища.

Приведенные ниже свойства поддерживаются в связанной службе.

Property Description Required
type Для свойства type необходимо задать значение AzureBlobFS. Yes
url Конечная точка для Data Lake Storage 2-го поколения с шаблоном https://<accountname>.dfs.core.windows.net. Yes
connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции, если хранилище данных находится в частной сети. Если не указано, используется среда выполнения интеграции по умолчанию Azure. No

Example:

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Аутентификация при помощи назначаемого пользователем управляемого удостоверения

Фабрика данных может быть назначена с одним или несколькими управляемыми идентификациями, назначенными пользователем. Это управляемое удостоверение, назначаемое пользователем, можно использовать для проверки подлинности хранилища BLOB-объектов, что позволяет получать доступ к данным и копировать данные из Data Lake Storage 2-го поколения. Дополнительные сведения об управляемых удостоверениях для ресурсов Azure см. в статье Управляемые удостоверения для ресурсов Azure

Для использования аутентификации с помощью управляемой идентификации, назначенной пользователем, выполните приведенные ниже действия.

  1. Создайте одну или несколько управляемых идентичностей, назначенных пользователем и предоставьте доступ к Azure Data Lake Storage 2-го поколения. См. примеры работы разрешений в Data Lake Storage 2-го поколения из списков управления доступом на файлы и каталоги.

    • В "Обозреватель службы хранилища" предоставьте как минимум разрешение Execute для всех родительских папок и файловой системы, а также разрешение Read для файлов, которые необходимо копировать. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Модуль чтения данных BLOB-объектов хранилища.
    • В качестве конечного узла: В Обозреватель службы хранилища предоставьте разрешения, по крайней мере, Execute для всех вышестоящих папок и файловой системы, а также Write для папки назначения. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Участник для данных BLOB-объектов хранилища.
  2. Назначьте одно или несколько пользовательских управляемых удостоверений для вашей фабрики данных и создайте учетные данные для каждого подобного удостоверения.

Приведенные ниже свойства поддерживаются в связанной службе.

Property Description Required
type Для свойства type необходимо задать значение AzureBlobFS. Yes
url Конечная точка для Data Lake Storage 2-го поколения с шаблоном https://<accountname>.dfs.core.windows.net. Yes
credentials Укажите назначаемое пользователем управляемое удостоверение в качестве объекта учетных данных. Yes
connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции, если хранилище данных находится в частной сети. Если не указано, используется среда выполнения интеграции по умолчанию Azure. No

Example:

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
                }
            },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Note

Если вы используете интерфейс Data Factory для создания, и для управляемого удостоверения не установлена роль "Читатель данных блоба хранилища" или "Contributor" в IAM, при тестовом подключении или навигации по папкам выберите "Проверить подключение к пути к файлу" или "Обзор из указанного пути" и укажите путь с разрешением Чтение + Выполнение для продолжения.

Important

Если вы используете инструкцию PolyBase или COPY для загрузки данных из Data Lake Storage 2-го поколения в Azure Synapse Analytics, при использовании проверки подлинности управляемого удостоверения для Data Lake Storage 2-го поколения убедитесь, что вы также выполните шаги 1–3 в this. С помощью этих шагов вы зарегистрируете сервер в Microsoft Entra ID и назначите роль участника данных BLOB-данных хранилища вашему серверу. Фабрика данных обрабатывает остальные компоненты. Если вы настраиваете хранилище объектов BLOB с конечной точкой Azure Virtual Network, необходимо также включить Разрешить доверенным сервисам Microsoft доступ к этой учетной записи хранения в разделе служба хранилища Azure учетной записи Межсетевые экраны и виртуальные сети в меню параметров, как требуется для Azure Synapse.

Свойства набора данных

Полный список разделов и свойств, доступных для определения наборов данных, см. в разделе Наборы данных.

Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.

Следующие свойства поддерживаются для Data Lake Storage 2-го поколения в настройках location в формате набора данных:

Property Description Required
type Для свойства type в разделе location в наборе данных должно быть задано значение AzureBlobFSLocation. Yes
fileSystem Имя файловой системы Data Lake Storage 2-го поколения. No
folderPath Путь к папке в заданной файловой системе. Если вы хотите использовать подстановочный знак для фильтрации папок, пропустите этот параметр и укажите его в параметрах источника действия. No
fileName Имя файла в указанной файловой системе + путь к папке. Если вы хотите использовать подстановочный знак для фильтрации файлов, пропустите этот параметр и укажите его в параметрах источника действия. No

Example:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<Data Lake Storage Gen2 linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobFSLocation",
                "fileSystem": "filesystemname",
                "folderPath": "folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

Свойства действие Copy

Полный список разделов и свойств, доступных для определения действий, см. в разделах конфигурации действий копирования и конвейеры и действия. В этом разделе представлен список свойств, поддерживаемых источником и приемником Data Lake Storage 2-го поколения.

Azure Data Lake Storage 2-го поколения в качестве исходного типа

Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.

Существует несколько вариантов копирования данных из ADLS 2-го поколения:

  • Скопируйте по указанному в наборе данных пути.
  • фильтр с подстановочными знаками для пути к папке или имени файла (см. сведения в разделах wildcardFolderPath и wildcardFileName);
  • Копируйте файлы, определенные в заданном текстовом файле как набор файлов, см. fileListPath.

Поддерживаются следующие свойства для Data Lake Storage 2-го поколения в настройках storeSettings в источнике копирования, основанном на формате:

Property Description Required
type Для свойства type в разделе storeSettings необходимо задать значение AzureBlobFSReadSettings. Yes
Найдите файлы для копирования
ВАРИАНТ 1. Статический путь
Копирование из указанной файловой системы или пути к папке либо файлу, которые указаны в наборе данных. Если вы хотите скопировать все файлы из файловой системы или папки, дополнительно укажите для wildcardFileName значение *.
ВАРИАНТ 2. Подстановочный знак
— подстановочный знакFolderPath
Путь к папке с подстановочными знаками в заданной файловой системе, настроенный в наборе данных для фильтрации исходных папок.
Допустимые подстановочные знаки: * (соответствует нулю или большему количеству знаков) и ? (соответствует нулю или одному знаку). Для экранирования используйте ^, если фактическое имя папки содержит подстановочный знак или escape-символ.
Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов.
No
ВАРИАНТ 2. Подстановочный знак
— wildcardFileName
Имя файла, содержащего подстановочные знаки, в заданной файловой системе + folderPath/wildcardFolderPath для фильтрации исходных файлов.
Допустимые подстановочные знаки: * (соответствует нулю или более знаков) и ? (соответствует нулю или одному символу); используйте ^ для экранирования, если фактическое имя файла содержит подстановочный знак или этот escape-символ. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов.
Yes
Вариант 3. Список файлов
- fileListPath
Указывает, что нужно скопировать заданный набор файлов. Укажите текстовый файл со списком файлов, которые необходимо скопировать, по одному файлу в строке (каждая строка должна содержать относительный путь к заданному в наборе данных пути).
При использовании этого параметра не указывайте имя файла в наборе данных. Ознакомьтесь с дополнительными примерами в разделе Примеры списков файлов.
No
Дополнительные параметры:
recursive Указывает, нужно ли читать данные рекурсивно из вложенных папок или только из указанной папки. Если для свойства recursive задано значение true, а приемником является файловое хранилище, то пустая папка или вложенная папка не копируются и не создаются в приемнике.
Допустимые значения: true (по умолчанию) и false.
Это свойство не применяется при настройке fileListPath.
No
deleteFilesAfterCompletion Указывает, удаляются ли двоичные файлы из исходного хранилища после успешного перемещения в конечное хранилище. Удаление файла выполняется для каждого файла, поэтому при сбое действия копирования вы увидите, что некоторые файлы уже скопированы в место назначения и удалены из источника, а другие остаются в исходном хранилище.
Это свойство допустимо только в сценарии копирования двоичных файлов. По умолчанию имеет значение false.
No
modifiedDatetimeStart Фильтр файлов на основе атрибута: Last Modified.
Будут выбраны все файлы, у которых время последнего изменения больше или равно 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

Example:

"activities":[
    {
        "name": "CopyFromADLSGen2",
        "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": "AzureBlobFSReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Azure Data Lake Storage 2-го поколения в качестве типа приемника

Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.

Следующие свойства поддерживаются для Data Lake Storage 2-го поколения в параметрах storeSettings в приемнике копирования, основанном на формате.

Property Description Required
type Для свойства type в разделе storeSettings необходимо задать значение AzureBlobFSWriteSettings. Yes
copyBehavior Определяет поведение копирования, когда источником являются файлы из файлового хранилища данных.

Допустимые значения:
— PreserveHierarchy (по умолчанию). Сохраняет иерархию файлов в целевой папке. Относительный путь исходного файла в исходной папке идентичен относительному пути целевого файла в целевой папке.
— FlattenHierarchy. Все файлы из исходной папки размещаются на первом уровне в целевой папке. Целевые файлы имеют автоматически сформированные имена.
— MergeFiles. Объединяет все файлы из исходной папки в один файл. Если указано имя файла, то оно присваивается объединенному файлу. В противном случае присваивается автоматически созданное имя файла.
No
blockSizeInMB Укажите размер блока в МБ, используемый для записи данных в Azure Data Lake Storage 2-го поколения. Узнайте больше о блочных BLOB-объектaх.
Допустимое значение — от 4 до 100 МБ.
По умолчанию ADF автоматически определяет размер блока на основе типа и данных исходного хранилища. Для копирования недвоичных файлов в Azure Data Lake Storage 2-го поколения размер блока по умолчанию составляет 100 МБ, что позволяет разместить приблизительно 4,75 ТБ данных. Это может быть не оптимальное решение, если данные небольшие, особенно если вы используете локальную интеграционную среду выполнения с некачественным сетевым соединением, что ведёт к возникновению проблем с временем ожидания операции или производительностью. Вы можете явно указать размер блока, хотя убедитесь, что blockSizeInMB*50000 достаточно велик для хранения данных, в противном случае выполнение действия копирования завершится ошибкой.
No
maxConcurrentConnections Верхний предел одновременных подключений, установленных для хранилища данных в процессе выполнения действия. Указывайте значение только при необходимости ограничить количество одновременных подключений. No
metadata Задайте пользовательские метаданные при копировании в приемник. Каждый объект в массиве metadata представляет дополнительный столбец. name определяет имя ключа метаданных, а value указывает значение данных этого ключа. Если используется функция сохранения атрибутов, указанные метаданные будут объединены с метаданными исходного файла или перезаписаны ими.

Допустимые значения данных:
- $$LASTMODIFIED: зарезервированная переменная указывает на сохранение времени последнего изменения исходных файлов. Она применяется к файловому источнику, который может быть только в двоичном формате.
Выражение
- Статическое значение
No

Example:

"activities":[
    {
        "name": "CopyToADLSGen2",
        "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": "AzureBlobFSWriteSettings",
                    "copyBehavior": "PreserveHierarchy",
                    "metadata": [
                        {
                            "name": "testKey1",
                            "value": "value1"
                        },
                        {
                            "name": "testKey2",
                            "value": "value2"
                        },
                        {
                            "name": "lastModifiedKey",
                            "value": "$$LASTMODIFIED"
                        }
                    ]
                }
            }
        }
    }
]

Примеры фильтров папок и файлов

В этом разделе описывается результирующее поведение пути папки и имени файла при использовании фильтров с подстановочными знаками.

folderPath fileName recursive Структура исходной папки и результат фильтрации (извлекаются файлы, выделенные полужирным шрифтом)
Folder* (Пусто, используйте значение по умолчанию) false FolderA
     File1.csv
     File2.json
    Subfolder1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* (Пусто, используйте значение по умолчанию) true FolderA
     File1.csv
     File2.json
    Subfolder1
         File3.csv
         File4.json
         File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv false FolderA
     File1.csv
    File2.json
    Subfolder1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv true FolderA
     File1.csv
    File2.json
    Subfolder1
         File3.csv
        File4.json
         File5.csv
AnotherFolderB
    File6.csv

Примеры списков файлов

В этом разделе описывается поведение, возникающее при указании пути к списку файлов в качестве источника для действия копирования.

Предположим, что у вас есть следующая исходная структура папок и вы хотите скопировать файлы, выделенные полужирным шрифтом:

Пример исходной структуры Содержимое файла FileListToCopy.txt Конфигурация ADF
filesystem
    FolderA
         File1.csv
        File2.json
        Subfolder1
             File3.csv
            File4.json
             File5.csv
    Metadata
        FileListToCopy.txt
File1.csv
Subfolder1/File3.csv
Subfolder1/File5.csv
В наборе данных:
- файловая система: filesystem
– Путь к папке: FolderA

В источнике действия копирования:
– Путь к списку файлов: filesystem/Metadata/FileListToCopy.txt

Путь к списку файлов указывает на текстовый файл в том же хранилище данных, содержащий список файлов, которые необходимо скопировать, указав по одному файлу в строке с относительным путем к пути, заданному в наборе данных.

Некоторые примеры рекурсивных и копирования поведения

В данном разделе описываются результаты выполнения операции копирования при использовании различных сочетаний значений 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
Целевая папка1 создается со следующей структурой:

Folder1
    автоматически созданное имя для "Файл1"
    автогенерируемое имя для Файл2
    автогенерированное имя для File3
    автоматически созданное имя для 'File4'
    автоматически созданное имя для "Файл5"
true mergeFiles Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Целевая папка1 создается со следующей структурой:

Folder1
    Содержимое файлов "Файл1", "Файл2", "Файл3", "Файл4" и "Файл5" объединяется в один файл с автоматически созданным именем.
false preserveHierarchy Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Целевая папка1 создается со следующей структурой:

Folder1
    File1
    File2

Подпапка1 с файлами Файл3, Файл4 и Файл5 не учитывается.
false flattenHierarchy Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Целевая папка1 создается со следующей структурой:

Folder1
    автоматически созданное имя для "Файл1"
    автогенерируемое имя для Файл2

Подпапка1 с файлами Файл3, Файл4 и Файл5 не учитывается.
false mergeFiles Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Целевая папка1 создается со следующей структурой:

Folder1
    Содержимое файлов "Файл1" и "Файл2" объединяется в один файл с автоматически созданным именем. автоматически созданное имя для "Файл1"

Подпапка1 с файлами Файл3, Файл4 и Файл5 не учитывается.

Сохранение метаданных файла во время копирования

При копировании файлов из Amazon S3/объектов Azure Blob/Azure Data Lake Storage 2-го поколения в хранилище Azure Data Lake Storage 2-го поколения/объекты Azure Blob, вы можете выбрать сохранение метаданных файла вместе с данными. Подробнее см. в разделе Сохранение метаданных.

Сохранение списков управления доступом из Data Lake Storage 1-го поколения/Gen2

При копировании файлов из Azure Data Lake Storage 1-го поколения/2-го поколения в 2-го поколения можно сохранить списки управления доступом POSIX наряду с данными. Узнайте больше в сохранении списков управления доступом из Data Lake Storage 1-го поколения/Gen2 в Gen2.

Tip

Общие сведения о копировании данных из хранилища Azure Data Lake Storage 1-го поколения в Gen2 см. в статье Копирование данных из Azure Data Lake Storage 1-го поколения в Gen2 для пошаговых инструкций и рекомендаций.

Сопоставление свойств потока данных

При преобразовании данных в потоках данных сопоставления можно считывать и записывать файлы из Azure Data Lake Storage 2-го поколения в следующих форматах:

Конкретные параметры приведены в документации для соответствующего формата. Дополнительные сведения см. в статьях Преобразование источника в потоке данных для сопоставления и Преобразование приемника в потоке данных для сопоставления.

Преобразование источника

В преобразовании источника можно прочитать из контейнера, папки или отдельного файла в Azure Data Lake Storage 2-го поколения. Настройки управления чтением файлов находятся на вкладке Параметры источника.

Снимок экрана: вкладка

Шаблон пути подстановочных знаков: использование шаблона подстановочных знаков приводит к тому, что ADF выполняет цикл через каждую совпадающую папку и файл в рамках одного источника преобразования. Это эффективный способ обработки нескольких файлов в одном потоке. Добавьте несколько шаблонов сопоставления с подстановочными знаками с помощью значка плюса ("+"), который появляется при наведении указателя мыши на существующий шаблон с подстановочными знаками.

В исходном контейнере выберите файлы, соответствующие шаблону. В наборе данных можно указать только контейнер. Путь с подстановочными знаками должен также включать путь к папке из корневой папки.

Примеры подстановочных знаков:

  • * — представляет любой набор символов;

  • ** — представляет рекурсивную вложенность каталога;

  • ? — заменяет один символ;

  • [] — соответствует одному или нескольким символам в квадратных скобках;

  • /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), то верхний уровень этого дерева секционированной папки можно назначить в качестве имени столбца в потоке данных.

Во-первых, задайте подстановочный знак, чтобы включить все пути, которые являются в секционированных папках, а также конечные файлы, которые вы хотите прочитать.

Снимок экрана: параметры исходного файла раздела в преобразовании источника потока данных для сопоставления.

Для определения верхнего уровня структуры папок используйте параметр "Корневой путь раздела". При просмотре содержимого данных с помощью предварительного просмотра данных вы увидите, что ADF добавит разрешенные разделы, найденные на каждом уровне папок.

Корневой путь раздела

Список файлов: это набор файлов. Создайте текстовый файл, содержащий список файлов с их относительными путями для обработки. Укажите на этот текстовый файл.

Столбец для хранения имени файла: сохраните имя исходного файла в столбце в данных. Укажите здесь новое имя столбца для хранения строки имени файла.

После завершения: выберите, что делать с исходным файлом: ничего не делать, удалить или переместить его после запуска потока данных. Пути для перемещения являются относительными.

Чтобы переместить исходные файлы в другое расположение после обработки, сначала выберите "Переместить" для операции с файлом. Затем задайте исходную директорию. Если вы не используете подстановочные знаки в пути, исходным каталогом будет та же папка, что и исходная папка.

Если у вас есть исходный путь с подстановочным знаком, синтаксис будет выглядеть следующим образом.

/data/sales/20??/**/*.csv

Вы можете указать значение "from" в качестве исходной папки

/data/sales

И как параметр "to"

/backup/priorSales

В этом случае все файлы, источником которых является папка /data/sales, перемещаются в папку /backup/priorSales.

Note

Операции с файлами выполняются только при запуске потока данных из конвейера данных (отладка или выполнение конвейера), который использует действие выполнения потока данных в конвейере. Операции с файлами не выполняются в режиме отладки Поток данных.

Фильтр по последнему изменению: вы можете фильтровать файлы, обрабатываемые путем указания диапазона дат последнего изменения. Все значения даты и времени указаны в формате UTC.

Включите запись измененных данных: Если задано значение true, вы получите новые или измененные файлы только из последнего запуска. При первом запуске всегда выполняется начальная загрузка данных, то есть получается полный моментальный снимок, а при следующих запусках записываются только новые или измененные файлы. Дополнительные сведения см. в разделе "Изменение записи данных".

Снимок экрана, показывающий возможность включения отслеживания измененных данных.

Свойства синка

В преобразовании приемника можно записать в контейнер или папку в Azure Data Lake Storage 2-го поколения. Вкладка "Параметры" позволяет управлять записью файлов.

Параметры приемника

Очистить папку: определяет, очищается ли целевая папка перед записью данных.

Параметр имени файла: определяет, как целевые файлы именуются в целевой папке. Доступные параметры имени файла:

  • По умолчанию: разрешить Spark именовать файлы на основе значений PART по умолчанию.
  • Шаблон. Введите шаблон, который перечисляет выходные файлы на секцию. Например, при использовании шаблона loans[n].csv будут создаваться файлы loans1.csv, loans2.csv и т. д.
  • На раздел: введите одно имя файла для каждого раздела.
  • Как данные в столбце: задайте выходной файл значению столбца. Путь задается относительно контейнера набора данных, а не папки назначения. Если в наборе данных имеется путь к папке, он будет переопределен.
  • Выходные данные в один файл: объединение секционированных выходных файлов в один именованный файл. Путь задается относительно папки набора данных. Помните, что операция слияния может завершиться ошибкой из-за размера узла. Этот параметр не рекомендуется использовать для больших наборов данных.

Заключить все в кавычки: определяет, следует ли заключать все значения в кавычки

umask

При необходимости можно установить флаги POSIX чтения, записи и выполнения для владельца, пользователя и группы для файлов.

Команды предварительной и последующей обработки

При необходимости можно выполнить команды файловой системы Hadoop до или после записи в приемник ADLS 2-го поколения. Поддерживаются следующие команды:

  • cp
  • mv
  • rm
  • mkdir

Examples:

  • mkdir /folder1
  • mkdir -p folder1
  • mv /folder1/*.* /folder2/
  • cp /folder1/file1.txt /folder2
  • rm -r /folder1

Параметры также поддерживаются в построителе выражений, например:

mkdir -p {$tempPath}/commands/c1/c2 mv {$tempPath}/commands/*.* {$tempPath}/commands/c1/c2

По умолчанию папки создаются от имени пользователя или root. Для ссылки на контейнер верхнего уровня используйте "/".

Свойства действия поиска

Подробные сведения об этих свойствах см. в разделе Действие поиска.

Свойства действия GetMetadata

Подробные сведения об этих свойствах см. в статье Действие GetMetadata.

Удалить свойства действия

Чтобы узнать подробности о свойствах, ознакомьтесь с Удалить активность.

Устаревшие модели

Note

Следующие модели по-прежнему поддерживаются на условиях "как есть" для обеспечения обратной совместимости. Вам предлагается использовать новую модель, указанную в приведенных выше разделах, и пользовательский интерфейс разработки ADF переключился на создание новой модели.

Устаревшая модель набора данных

Property Description Required
type Свойство type для набора данных должно иметь значение AzureBlobFSFile. Yes
folderPath Путь к папке в Data Lake Storage 2-го поколения. Если не указано, указывает на корень.

Поддерживается фильтр подстановочных знаков. Допустимые подстановочные знаки: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу). Используйте ^ для экранирования, если имя вашей фактической папки содержит подстановочный знак или в нём находится эта escape-последовательность.

Примеры: файловая система/папка/. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов.
No
fileName Имя или фильтр подстановочных знаков для файлов по указанному folderPath. Если этому свойству не присвоить значение, набор данных будет указывать на все файлы в папке.

Допустимые подстановочные знаки для фильтра: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу).
Пример 1. "fileName": "*.csv"
Пример 2. "fileName": "???20180427.txt"
Используйте ^ для экранирования, если фактическое имя файла содержит подстановочный знак или символ экранирования.

Если имя файла не указано для выходного набора данных и preserveHierarchy не указано в приемнике активности, действие копирования автоматически генерирует имя файла по следующему шаблону: "Data.[идентификатор GUID выполнения активности].[GUID, если FlattenHierarchy].[формат, если установлен].[сжатие, если установлено]", например, "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz". При копировании из табличного источника с использованием имени таблицы вместо запроса формат имени будет таким: "[имя таблицы].[фoрмат].[сжатие, если настроено]". Например: "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**, and **ZipDeflate**.
Поддерживаемые уровни: Optimal и Fastest.
No

Tip

Чтобы скопировать все файлы в папке, укажите только folderPath.
Чтобы скопировать один файл с заданным именем, укажите folderPath с путем к папке и fileName с именем файла.
Чтобы скопировать подмножество файлов в папке, укажите folderPath с частью папки и fileName с фильтром подстановочных знаков.

Example:

{
    "name": "ADLSGen2Dataset",
    "properties": {
        "type": "AzureBlobFSFile",
        "linkedServiceName": {
            "referenceName": "<Azure Data Lake Storage Gen2 linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "myfilesystem/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"
            }
        }
    }
}

Устаревшая модель источника процесса копирования

Property Description Required
type Свойство "type" источника действия копирования должно иметь значение AzureBlobFSSource. Yes
recursive Указывает, нужно ли читать данные рекурсивно из вложенных папок или только из указанной папки. Если для свойства recursive задано значение true, а приемником является файловое хранилище, то пустая папка или вложенная папка не копируются и не создаются в приемнике.
Допустимые значения: true (по умолчанию) и false.
No
maxConcurrentConnections Верхний предел одновременных подключений, установленных для хранилища данных в процессе выполнения действия. Указывайте значение только при необходимости ограничить количество одновременных подключений. No

Example:

"activities":[
    {
        "name": "CopyFromADLSGen2",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ADLS Gen2 input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AzureBlobFSSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Устаревшая модель приемника действия копирования

Property Description Required
type Свойство type приемника действия копирования должно иметь значение AzureBlobFSSink. Yes
copyBehavior Определяет поведение копирования, когда источником являются файлы из файлового хранилища данных.

Допустимые значения:
— PreserveHierarchy (по умолчанию). Сохраняет иерархию файлов в целевой папке. Относительный путь исходного файла в исходной папке идентичен относительному пути целевого файла в целевой папке.
— FlattenHierarchy. Все файлы из исходной папки размещаются на первом уровне в целевой папке. Целевые файлы имеют автоматически сформированные имена.
— MergeFiles. Объединяет все файлы из исходной папки в один файл. Если указано имя файла, то оно присваивается объединенному файлу. В противном случае присваивается автоматически созданное имя файла.
No
maxConcurrentConnections Верхний предел одновременных подключений, установленных для хранилища данных в процессе выполнения действия. Указывайте значение только при необходимости ограничить количество одновременных подключений. No

Example:

"activities":[
    {
        "name": "CopyToADLSGen2",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<ADLS Gen2 output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureBlobFSSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

отслеживание изменений данных

Фабрика данных Azure может получать новые или измененные файлы только из Azure Data Lake Storage 2-го поколения, включив функцию Enable change data capture в преобразовании источника сопоставления потока данных. Этот параметр соединителя позволяет считывать только новые или обновленные файлы и применять преобразования перед загрузкой преобразованных данных в нужные целевые наборы.

Ни в коем случае не изменяйте имена конвейера и действия, чтобы контрольная точка последнего запуска всегда была доступна для анализа и получения изменений. При изменении имени конвейера или имени действия контрольная точка будет сброшена, и вы начнете заново с начала следующего запуска процесса.

При отладке конвейера также можно использовать параметр Включить отслеживание измененных данных. Контрольная точка будет сбрасываться при обновлении браузера во время отладки. После выполнения отладки вы можете опубликовать и активировать конвейер. Будет всегда начинаться с начала, независимо от предыдущей контрольной точки, зафиксированной при выполнении отладки.

В разделе мониторинга вы всегда можете повторно запустить поток. При этом изменения всегда берутся из записи контрольной точки в выбранном запуске конвейера.

Список хранилищ данных, поддерживаемых в рамках функции копирования в качестве источников и приемников, см. в разделе Поддерживаемые хранилища данных.