Копирование данных из хранилищ данных ODBC и из них с помощью Azure Data Factory или Synapse Analytics

ПРИМЕНИМО К: Azure Data Factory Azure Synapse Analytics

Совет

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

В этой статье описывается, как использовать действие копирования в Azure Data Factory для копирования данных из хранилища данных ODBC и из нее. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.

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

Соединитель ODBC поддерживается для следующих возможностей:

Поддерживаемые возможности IR
Копирование данных (источник/приемник) (2)
Операция поиска (2)

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

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

В частности, этот соединитель ODBC поддерживает копирование данных из любого хранилища данных, совместимого с ODBC, и в него с использованием базовой или анонимной проверки подлинности. Необходим 64-разрядный драйвер ODBC. Для приемника ODBC служба поддерживает стандарт ODBC версии 2.0.

Требуемые условия

Чтобы использовать этот соединитель ODBC, сделайте следующее:

  • Настройте автономную среду выполнения интеграции. См. статью Self-hosted Integration Runtime для получения подробной информации.
  • Установите 64-разрядный драйвер ODBC для хранилища данных на компьютере Integration Runtime.

Начало работы

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

Создание связанной службы для хранилища данных ODBC с помощью пользовательского интерфейса

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

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

  2. Найдите ODBC и выберите соединитель ODBC.

    Снимок экрана: соединитель ODBC.

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

    Снимок экрана: конфигурация связанной службы для хранилища данных ODBC.

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

Следующие разделы содержат сведения о свойствах, которые используются для определения сущностей Data Factory, специфичных для соединителя ODBC.

Свойства связанной службы

Для связанной службы ODBC поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
тип Для свойства type необходимо задать значение Odbc Да
connectionString Строка подключения, исключая часть с учетными данными. Вы можете указать строку подключения с шаблоном, например Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase;, или использовать системное имя DSN (имя источника данных), настроенное на машине Integration Runtime, с DSN=<name of the DSN on IR machine>; (в связанной службе все равно необходимо указать данные для аутентификации).
Вы также можете поместить пароль в Azure Key Vault и извлечь конфигурацию password из connection string. Дополнительные сведения см. в разделе Store credentials in Azure Key Vault.
Да
тип аутентификации Тип проверки подлинности, используемый для подключения к хранилищу данных ODBC.
Допустимые значения: Basic, Anonymous.
Да
userName При использовании обычной проверки подлинности укажите имя пользователя. Нет
пароль Введите пароль для учетной записи пользователя, указанной вами для userName. Пометьте это поле как SecureString, чтобы безопасно хранить его, или ссылаться на секрет, хранящийся в Azure Key Vault. Нет
учетные данные Часть учетных данных доступа строки подключения, указанная в формате "свойство-значение", специфичном для драйвера. Пример: "RefreshToken=<secret refresh token>;". Пометьте это поле в качестве SecureString. Нет
connectVia Integration Runtime для подключения к хранилищу данных. Требуется Self-hosted Integration Runtime, как упомянуто в разделе Prerequisites. Да

Пример 1. Использование обычной проверки подлинности

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": "<connection string>",
            "authenticationType": "Basic",
            "userName": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Пример 2. Использование анонимной проверки подлинности

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": "<connection string>",
            "authenticationType": "Anonymous",
            "credential": {
                "type": "SecureString",
                "value": "RefreshToken=<secret refresh token>;"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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

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

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

Свойство Описание: Обязательное поле
тип Для свойства type набора данных необходимо задать значение OdbcTable Да
tableName Имя таблицы в хранилище данных ODBC. Нет для источника (если свойство query указано в источнике действия).
Да для "синк".

Пример

{
    "name": "ODBCDataset",
    "properties": {
        "type": "OdbcTable",
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<ODBC linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "tableName": "<table name>"
        }
    }
}

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

Свойства Copy activity

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

ODBC в качестве источника

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

Свойство Описание: Обязательное поле
тип Свойство type источника действия копирования должно иметь значение OdbcSource Да
запрос Используйте пользовательский SQL-запрос для чтения данных. Например: "SELECT * FROM MyTable". Нет (если для набора данных задано свойство tableName)

Пример:

"activities":[
    {
        "name": "CopyFromODBC",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ODBC input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "OdbcSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

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

ODBC в качестве приемника

Чтобы скопировать данные в хранилище данных, совместимое с ODBC, установите тип приемника в копировочной операции OdbcSink. В разделе sink для действий копирования поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
тип Свойство type приемника действия копирования должно иметь значение OdbcSink. Да
writeBatchTimeout Время ожидания завершения операции пакетной вставки до истечения тайм-аута.
Допустимые значения: промежуток времени. Пример: 00:30:00 (30 минут).
Нет
writeBatchSize Вставляет данные в таблицу SQL, когда размер буфера достигает значения writeBatchSize.
Допустимые значения: целое число (количество строк).
Нет (по умолчанию — 0 (автоматическое обнаружение))
preCopyScript Перед записью данных в хранилище данных при каждом запуске указывайте SQL-запрос для выполнения операции копирования. Это свойство можно использовать для очистки предварительно загруженных данных. Нет

Примечание.

Если для параметра writeBatchSize значение не установлено (автоматическое определение), сначала действие копирования определяет, поддерживает ли драйвер пакетные операции, а затем устанавливает значение 10 000, если поддерживает, или 1, если не поддерживает. Если явно задано значение, отличное от 0, действие копирования учитывает это значение, и, если драйвер не поддерживает пакетные операции, во время выполнения происходит сбой.

Пример:

"activities":[
    {
        "name": "CopyToODBC",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<ODBC output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "OdbcSink",
                "writeBatchSize": 100000
            }
        }
    }
]

Свойства операции поиска

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

Устранение неполадок с подключением

Чтобы устранить неполадки подключения, перейдите на вкладку DiagnosticsIntegration Runtime Configuration Manager.

  1. Запустите Integration Runtime Configuration Manager.
  2. Перейдите на вкладку Диагностика .
  3. В разделе "Проверить подключение" выберите тип хранилища данных (связанную службу).
  4. Укажите строку подключения, которая используется для подключения к хранилищу данных, выберите аутентификацию и введите имя пользователя, пароль и/или учётные данные.
  5. Щелкните Проверить подключение , чтобы проверить подключение к хранилищу данных.

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