Перейти к содержанию

Коннектор источника для Azure Synapse Analytics

Это руководство описывает, как настроить digna для подключения к Azure Synapse Analytics через ODBC со строкой подключения без DSN (DSN-less). Поддерживаются как бессерверные, так и выделенные пулы SQL.

Сторона digna одинакова для всех технологий — где создаются подключения, как шифруются значения свойств, как проверяется подключение и что означают режимы профилирования. Она описана в разделе Обзор подключений к базам данных. Эта страница описывает то, что специфично для Azure Synapse.

Технология

Synapse использует диалект SQL Server, поэтому подключение создаётся с Technology: SQL Server. Для локального (on-premises) сервера см. MS SQL Server.


1. Установка драйвера ODBC

Установите ODBC Driver 18 for SQL Server на машину, где работает бэкенд digna, следуя руководству по установке Microsoft, и узнайте точное зарегистрированное имя драйвера на вашем хосте, как описано в разделе Установка драйвера ODBC на хосте digna.


2. Свойства ODBC

Пример, а не спецификация

Набор ниже — одна комбинация, которая заведомо работает. Свойства принадлежат драйверу ODBC от Microsoft, поэтому их имена, значения по умолчанию и допустимые значения различаются между версиями драйвера и платформами, а требования рабочей области зависят от её настройки — типа пула, метода аутентификации, брандмауэра. Используйте этот набор как отправную точку и сверяйтесь с документацией установленной версии драйвера.

Добавьте следующие свойства на экране Add DB Connection:

Ключ Пример значения Примечания
DRIVER ODBC Driver 18 for SQL Server Должно совпадать с именем драйвера, зарегистрированным на хосте digna
SERVER <workspace>-ondemand.sql.azuresynapse.net Имя рабочей области плюс суффикс конечной точки — см. ниже
DATABASE dignadata База данных, содержащая исходные схемы. Это единственная база данных, которую может профилировать это подключение
UID sqladminuser Имя входа SQL
PWD <password> Отметьте Encrypted

Итоговая строка подключения выглядит так:

DRIVER=ODBC Driver 18 for SQL Server;SERVER=<workspace>-ondemand.sql.azuresynapse.net;DATABASE=dignadata;UID=sqladminuser;PWD=<password>

Значение SERVER

Возьмите имя рабочей области Synapse и добавьте суффикс конечной точки:

Пул SERVER
Бессерверный пул SQL <workspace>-ondemand.sql.azuresynapse.net
Выделенный пул SQL <workspace>.sql.azuresynapse.net

Часть -ondemand легко упустить

Без неё имя разрешается в выделенную конечную точку, и подключение либо завершается ошибкой, либо незаметно попадает не в тот пул. Обе конечные точки показаны на странице обзора рабочей области на портале Azure.

Брандмауэр

Брандмауэр рабочей области Synapse должен разрешать исходящий адрес хоста digna. Добавьте его в разделе Networking рабочей области перед проверкой подключения — заблокированный адрес проявляется как тайм-аут подключения, а не как ошибка аутентификации.

Аутентификация Microsoft Entra ID

Вместо имени входа SQL драйвер может проходить аутентификацию через Entra ID. Замените UID/PWD методом аутентификации, который ожидает ваша рабочая область, например:

Ключ Пример значения Примечания
Authentication ActiveDirectoryServicePrincipal Тогда UID принимает идентификатор приложения (client ID), а PWD — client secret
Authentication ActiveDirectoryMSI Управляемое удостоверение (managed identity) хоста digna, учётные данные не нужны

3. Настройка digna

На экране Add DB Connection укажите следующее:

Name:               Name of the connection. This is used for referencing the connection in other screens.
Technology:         SQL Server
Profiling Mode:     Serverless SQL pool: Standard
                    Dedicated SQL pool:  Standard, Permanent or Session
Work Schema:        Schema for the work tables of "Permanent" profiling, e.g. "digna_work"

4. Особенности Azure Synapse

  • Бессерверные пулы поддерживают только профилирование Standard. Бессерверный пул SQL не может создавать таблицы в базе данных, поэтому ни Permanent, ни Session работать не могут. Standard рассчитывает метрики непосредственно на источнике, и это также более дешёвый вариант, поскольку бессерверный режим тарифицируется по объёму обработанных данных.
  • Одно подключение видит одну базу данных. digna предлагает схемы базы данных, указанной в DATABASE, потому что Synapse, как и SQL Server, сообщает в качестве каталога только текущую базу данных.
  • Шифрование включено по умолчанию в Driver 18, а конечные точки Synapse предъявляют действительные публичные сертификаты, поэтому свойства Encrypt или TrustServerCertificate не нужны.
  • Бессерверная конечная точка может выходить из режима простоя при первом подключении. Если проверка подключения к пулу, который какое-то время не использовался, завершается по тайм-ауту, повторите её.

5. Проверка драйвера (необязательно)

Для подключения без DSN настраивать источник данных ODBC не требуется, но собственный мастер драйвера — удобный способ убедиться, что драйвер работает и рабочая область принимает ваши учётные данные, прежде чем вводить их в digna.

Шаг 1

Шаг 1

Заполните поле «Server». Используйте имя рабочей области Synapse и добавьте к нему «.sql.azuresynapse.net».
Внимание: если вы хотите подключиться к бессерверному пулу SQL, обязательно добавьте «-ondemand», как показано на снимке экрана выше.

Нажмите кнопку Next >.

Шаг 2

Шаг 2

Выберите метод аутентификации (например, имя пользователя и пароль) и укажите необходимые данные.

Нажмите кнопку Next >.

Шаг 3

Шаг 3

Выберите параметры, соответствующие ANSI, затем нажмите кнопку Next >.

Шаг 4

Шаг 4

Можно оставить настройки по умолчанию или выбрать нужные параметры, после чего нажмите кнопку Finish.

Шаг 5

Шаг 5

Теперь нажмите кнопку Test datasource.

Шаг 6

Шаг 6

Экран успешного завершения подтверждает, что драйвер, конечная точка и учётные данные работают. Введённые вами значения — это именно те значения, которые принимают свойства из раздела 2.