Копирование данных из PostgreSQL версии 1 с помощью Фабрика данных Azure или Synapse Analytics
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure
Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье описывается, как с помощью действия копирования в конвейерах Фабрики данных Azure и Synapse Analytics копировать данные из базы данных PostgreSQL. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.
Внимание
Соединитель PostgreSQL версии 2 обеспечивает улучшенную встроенную поддержку PostgreSQL. Если вы используете соединитель PostgreSQL версии 1 в решении, обновите соединитель PostgreSQL, так как версия 1 находится на этапе поддержки. Дополнительные сведения о различиях между версиями 2 и V1 см. в этом разделе .
Поддерживаемые возможности
Этот соединитель PostgreSQL предназначен для выполнения следующих возможностей:
Поддерживаемые возможности | IR |
---|---|
Действие копирования (источник/-) | (1) (2) |
Действие поиска | (1) (2) |
① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции
Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия копирования, приведен в таблице Поддерживаемые хранилища данных и форматы.
В частности, этот соединитель PostgreSQL поддерживает PostgreSQL версии 7.4 и более поздних.
Необходимые компоненты
Если хранилище данных размещено в локальной сети, виртуальной сети Azure или виртуальном частном облаке Amazon, для подключения к нему нужно настроить локальную среду выполнения интеграции.
Если же хранилище данных представляет собой управляемую облачную службу данных, можно использовать Azure Integration Runtime. Если доступ предоставляется только по IP-адресам, утвержденным в правилах брандмауэра, вы можете добавить IP-адреса Azure Integration Runtime в список разрешений.
Вы также можете использовать функцию среды выполнения интеграции в управляемой виртуальной сети в Фабрике данных Azure для доступа к локальной сети без установки и настройки локальной среды выполнения интеграции.
Дополнительные сведения о вариантах и механизмах обеспечения сетевой безопасности, поддерживаемых Фабрикой данных, см. в статье Стратегии получения доступа к данным.
Начиная с версии 3.7 служба Integration Runtime предоставляет встроенный драйвер PostgreSQL, поэтому вам не потребуется устанавливать драйвер вручную.
Начало работы
Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:
- средство копирования данных;
- Портал Azure
- Пакет SDK для .NET
- Пакет SDK для Python
- Azure PowerShell
- The REST API
- шаблон Azure Resource Manager.
Создание связанной службы для PostgreSQL с помощью пользовательского интерфейса
Выполните приведенные ниже действия, чтобы создать связанную службу для PostgreSQL с помощью пользовательского интерфейса на портале Azure.
Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", после чего нажмите "Создать":
Выполните поиск по запросу "Postgre" и выберите соединитель PostgreSQL.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Сведения о конфигурации соединителя
Следующие разделы содержат сведения о свойствах JSON, которые используются для определения сущностей фабрики данных, относящихся к соединителю PostgreSQL.
Свойства связанной службы
Для связанной службы PostgreSQL поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Для свойства type необходимо задать значение PostgreSql | Да |
connectionString | Строка подключения к базе данных Azure для PostgreSQL через интерфейс ODBC. Вы можете также поместить пароль в Azure Key Vault и извлечь конфигурацию password из строки подключения. Ознакомьтесь с приведенными ниже примерами и подробными сведениями в статье Хранение учетных данных в Azure Key Vault. |
Да |
connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Дополнительные сведения см. в разделе Предварительные условия. Если не указано другое, по умолчанию используется интегрированная среда выполнения Azure. | No |
Типичная строка подключения — Server=<server>;Database=<database>;Port=<port>;UID=<username>;Password=<Password>
. Дополнительные свойства, которые вы можете установить в вашем случае:
Свойство | Description | Параметры | Обязательное поле |
---|---|---|---|
EncryptionMethod (EM) | Метод, используемый драйвером для шифрования данных, отправленных между драйвером и сервером базы данных. Пример: EncryptionMethod=<0/1/6>; . |
0 (без шифрования) (по умолчанию) -1 (SSL) или 6 (RequestSSL) | No |
ValidateServerCertificate (VSC) | Определяет, проверяет ли драйвер сертификат, отправленный сервером базы данных, когда включено шифрование SSL (метод шифрования = 1). Пример: ValidateServerCertificate=<0/1>; . |
0 (отключено) (по умолчанию) -1 (включено) | No |
Примечание.
Чтобы обеспечить полную проверку SSL через подключение ODBC при использовании локального Integration Runtime, необходимо явно использовать подключение типа ODBC вместо соединителя PostgreSQL и выполнить следующую конфигурацию:
- Настройте DSN на любых серверах SHIR.
- Поместите соответствующий сертификат для PostgreSQL в C:\Windows\ServiceProfiles\DIAHostService\AppData\Roaming\postgresql\root.crt на серверах SHIR. Именно в этом случае драйвер ODBC ищет > для SSL-сертификата, чтобы выполнить проверку при его подключении к базе данных.
- В подключении фабрики данных используйте подключение типа ODBC со строкой подключения, указывающей на DSN, созданное на серверах SHIR.
Пример:
{
"name": "PostgreSqlLinkedService",
"properties": {
"type": "PostgreSql",
"typeProperties": {
"connectionString": "Server=<server>;Database=<database>;Port=<port>;UID=<username>;Password=<Password>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Пример: хранение пароля в Azure Key Vault
{
"name": "PostgreSqlLinkedService",
"properties": {
"type": "PostgreSql",
"typeProperties": {
"connectionString": "Server=<server>;Database=<database>;Port=<port>;UID=<username>;",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Ранее используемая связанная служба PostgreSQL со приведенными ниже полезными данными по-прежнему поддерживается. Но мы рекомендуем в дальнейшем использовать более новую версию.
Предыдущие полезные данные:
{
"name": "PostgreSqlLinkedService",
"properties": {
"type": "PostgreSql",
"typeProperties": {
"server": "<server>",
"database": "<database>",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Свойства набора данных
Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. Этот раздел содержит список свойств, поддерживаемых набором данных PostgreSQL.
Для копирования данных из PostgreSQL поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство type для набора данных должно иметь значение PostgreSqlTable | Да |
schema | Имя схемы. | Нет (если свойство query указано в источнике действия) |
table | Имя таблицы. | Нет (если свойство query указано в источнике действия) |
tableName | Имя таблицы со схемой. Это свойство поддерживается только для обеспечения обратной совместимости. Для новых рабочих нагрузок используйте schema и table . |
Нет (если свойство query указано в источнике действия) |
Пример
{
"name": "PostgreSQLDataset",
"properties":
{
"type": "PostgreSqlTable",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<PostgreSQL linked service name>",
"type": "LinkedServiceReference"
}
}
}
Если вы ранее использовали типизированный набор данных RelationalTable
, он пока поддерживается и не требует изменений, но мы рекомендуем перейти на новую версию.
Свойства действия копирования
Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры и действия в фабрике данных Azure. Этот раздел содержит список свойств, поддерживаемых источником PostgreSQL.
PostgreSQL в качестве источника
Для копирования данных из PostgreSQL в разделе source для действия копирования поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство type источника действия копирования должно иметь значение PostgreSqlSource | Да |
query | Используйте пользовательский SQL-запрос для чтения данных. Например: "query": "SELECT * FROM \"MySchema\".\"MyTable\"" . |
Нет (если для набора данных задано свойство tableName) |
Примечание.
В именах схем и таблиц учитывается регистр. Заключите имя в ""
(двойные кавычки) в запросе.
Пример:
"activities":[
{
"name": "CopyFromPostgreSQL",
"type": "Copy",
"inputs": [
{
"referenceName": "<PostgreSQL input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "PostgreSqlSource",
"query": "SELECT * FROM \"MySchema\".\"MyTable\""
},
"sink": {
"type": "<sink type>"
}
}
}
]
Если вы ранее использовали типизированный источник RelationalSource
, он пока поддерживается и не требует изменений, но мы рекомендуем в дальнейшем использовать более новую версию.
Свойства действия поиска
Подробные сведения об этих свойствах см. в разделе Действие поиска.
Связанный контент
Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия Copy, приведен в таблице Поддерживаемые хранилища данных и форматы.