Настройка Microsoft Fabric Synapse Data Warehouse
Ниже представлено руководство по использованию Synapse Data Warehouse, нового продукта в составе Microsoft Fabric. Адаптер в настоящее время поддерживает только подключение к хранилищу данных, но не к конечной точке lakehouse. Вы можете получить доступ к данным в вашем lakehouse через хранилище, если вы находитесь в одном рабочем пространстве.
Чтобы узнать, как настроить dbt с Azure Synapse Dedicated Pools, обратитесь к настройке Microsoft Azure Synapse DWH.
- Поддерживается: Microsoft
- Авторы: Microsoft
- Репозиторий на GitHub: Microsoft/dbt-fabric
- Пакет на PyPI:
dbt-fabric
- Канал в Slack:
- Поддерживаемая версия dbt Core: 1.4.0 и новее
- Поддержка dbt Cloud: Supported
- Минимальная версия платформы данных:
Установка dbt-fabric
Используйте pip
для установки адаптера. До версии 1.8 установка адаптера автоматически устанавливала dbt-core
и любые дополнительные зависимости. Начиная с версии 1.8, установка адаптера не устанавливает автоматически dbt-core
. Это связано с тем, что адаптеры и версии dbt Core были разделены, и мы больше не хотим перезаписывать существующие установки dbt-core.
Используйте следующую команду для установки:
Конфигурация dbt-fabric
Для конфигурации, специфичной для Microsoft Fabric, пожалуйста, обратитесь к конфигурациям Microsoft Fabric.
Предварительные требования
На Debian/Ubuntu убедитесь, что у вас есть заголовочные файлы ODBC перед установкой
sudo apt install unixodbc-dev
Скачайте и установите Microsoft ODBC Driver 18 для SQL Server. Если у вас уже установлен ODBC Driver 17, то он также подойдет.
Подде рживаемые конфигурации
- Адаптер тестируется с Microsoft Fabric Synapse Data Warehouses (также называемыми Warehouses).
- Мы тестируем все комбинации с Microsoft ODBC Driver 17 и Microsoft ODBC Driver 18.
- Колляции, на которых мы проводим тесты, это
Latin1_General_100_BIN2_UTF8
.
Поддержка адаптера не ограничивается матрицей вышеуказанных конфигураций. Если вы заметите проблему с любой другой конфигурацией, дайте нам знать, открыв проблему на GitHub.
Неподдерживаемые конфигурации
Конечные точки SQL analytics доступны только для чтения и поэтому не подходят для рабочих нагрузок трансформации, используйте вместо этого Warehouse.
Методы аутентификации и конфигурация профиля
Общая конфигурация
Для всех методов аутентификации обратитесь к следующим параметрам конфигурации, которые можно задать в вашем файле profiles.yml
.
Полная справка по всем параметрам доступна в конце этой страницы.
Параметр конфигурации | Описание | Тип | Пример |
---|---|---|---|
driver | ODBC-драйвер для использования | Обязательный | ODBC Driver 18 for SQL Server |
server | Имя хоста сервера | Обязательный | localhost |
port | Порт сервера | Обязательный | 1433 |
database | Имя базы данных | Обязательный | Не применимо |
schema | Имя схемы | Обязательный | dbo |
retries | Количество автоматических попыток повторить запрос перед неудачей. По умолчанию 1 . Запросы с синтаксическими ошибками не будут повторяться. Этот параметр можно использовать для преодоления временных сетевых проблем. | Необязательный | Не применимо |
login_timeout | Количество секунд, используемых для установления соединения перед неудачей. По умолчанию 0 , что означает, что тайм-аут отключен или используются системные настройки по умолчанию. | Необязательный | Не применимо |
query_timeout | Количество секунд, используемых для ожидания выполнения запроса перед неудачей. По умолчанию 0 , что означает, что тайм-аут отключен или используются системные настройки по умолчанию. | Необязательный | Не применимо |
schema_authorization | Опционально укажите принципала, который должен владеть схемами, создаваемыми dbt. Подробнее о авторизации схемы. | Необязательный | Не применимо |
encrypt | Шифровать ли соединение с сервером. По умолчанию true . Подробнее о шифровании соединения. | Необязательный | Не применимо |
trust_cert | Доверять ли сертификату сервера. По умолчанию false . Подробнее о шифровании соединения. | Необязательный | Не применимо |
Шифрование соединения
Microsoft внесла несколько изменений в выпуске ODBC Driver 18, которые влияют на то, как настраивается шифрование соединения.
Чтобы учесть эти изменения, начиная с dbt-sqlserver 1.2.0 или новее, значения по умолчанию для encrypt
и trust_cert
изменились.
Оба этих параметра теперь всегда будут включены в строку соединения с сервером, независимо от того, оставили ли вы их в конфигурации профиля или нет.
- Значение по умолчанию для
encrypt
—true
, что означает, что соединения по умолчанию шифруются. - Значение по умолчанию для
trust_cert
—false
, что означает, что сертификат сервера будет проверен. Установив это значение вtrue
, будет принят самоподписанный сертификат.
Более подробная информация о том, как эти значения влияют на ваше соединение и как они используются в разных версиях ODBC-драйвера, доступна в документации Microsoft.
Стандартная аутентификация SQL Server
Аутентификация SQL Server и Windows не поддерживается Microsoft Fabric Synapse Data Warehouse.
Аутентификация Microsoft Entra ID
Аутентификация Microsoft Entra ID (ранее Azure AD) является механизмом аутентификации по умолчанию в Microsoft Fabric Synapse Data Warehouse.
Следующие дополнительные методы доступны для аутентификации в продуктах Azure SQL:
- Имя пользователя и пароль Microsoft Entra ID
- Сервисный принципал
- Аутентификация на основе окружения
- Аутентификация Azure CLI
- Аутентификация VS Code (доступна через автоматический вариант ниже)
- Аутентификация модуля Azure PowerShell (доступна через автоматический вариант ниже)
- Автоматическая аутентификация
Настройка автоматической аутентификации в большинстве случаев является самым простым выбором и работает для всех вышеперечисленных методов.
- Имя пользователя и пароль Microsoft Entra ID
- Сервисный принципал
- Управляемая идентичность
- На основе окружения
- Azure CLI
- Автоматическая
your_profile_name:
target: dev
outputs:
dev:
type: fabric
driver: 'ODBC Driver 18 for SQL Server' # (ODBC-драйвер, установленный в вашей системе)
server: hostname или IP вашего сервера
port: 1433
database: exampledb
schema: schema_name
authentication: ActiveDirectoryPassword
user: bill.gates@microsoft.com
password: iheartopensource
Client ID часто также называется Application ID.
your_profile_name:
target: dev
outputs:
dev:
type: fabric
driver: 'ODBC Driver 18 for SQL Server' # (ODBC-драйвер, установленный в вашей системе)
server: hostname или IP вашего сервера
port: 1433
database: exampledb
schema: schema_name
authentication: ServicePrincipal
tenant_id: 00000000-0000-0000-0000-000000001234
client_id: 00000000-0000-0000-0000-000000001234
client_secret: S3cret!
Эта опция аутентификации позволяет динамически выбирать метод аутентификации в зависимости от доступных переменных окружения.
Документация Microsoft по EnvironmentCredential объясняет доступные комбинации переменных окружения, которые вы можете использовать.
your_profile_name:
target: dev
outputs:
dev:
type: fabric
driver: 'ODBC Driver 18 for SQL Server' # (ODBC-драйвер, установленный в вашей системе)
server: hostname или IP вашего сервера
port: 1433
database: exampledb
schema: schema_name
authentication: environment
Сначала установите Azure CLI, затем выполните вход:
az login
your_profile_name:
target: dev
outputs:
dev:
type: fabric
driver: 'ODBC Driver 18 for SQL Server' # (ODBC-драйвер, установленный в вашей системе)
server: hostname или IP вашего сервера
port: 1433
database: exampledb
schema: schema_name
authentication: CLI
Эта опция аутентификации автоматически попытается использовать все доступные методы аутентификации.
Следующие методы пробуются по порядку:
- Аутентификация на основе окружения
- Аутентификация с управляемой идентичностью. Упра вляемая идентичность в настоящее время не поддерживается.
- Аутентификация Visual Studio (только Windows, игнорируется на других операционных системах)
- Аутентификация Visual Studio Code
- Аутентификация Azure CLI
- Аутентификация модуля Azure PowerShell
your_profile_name:
target: dev
outputs:
dev:
type: fabric
driver: 'ODBC Driver 18 for SQL Server' # (ODBC-драйвер, установленный в вашей системе)
server: hostname или IP вашего сервера
port: 1433
database: exampledb
schema: schema_name
authentication: auto
Дополнительные опции для Microsoft Entra ID на Windows
На системах Windows также доступны следующие дополнительные методы аутентификации для Azure SQL:
- Интерактивная аутентификация Microsoft Entra ID
- Интегрированная аутентификация Microsoft Entra ID
- Аутентификация Visual Studio (доступна через автоматический вариант выше)
- Интерактивная аутентификация Microsoft Entra ID
- Интегрированная аутентификация Microsoft Entra ID
Эта настройка может опционально показывать запросы многофакторной аутентификации.
your_profile_name:
target: dev
outputs:
dev:
type: fabric
driver: 'ODBC Driver 18 for SQL Server' # (ODBC-драйвер, установленный в вашей системе)
server: hostname или IP вашего сервера
port: 1433
database: exampledb
schema: schema_name
authentication: ActiveDirectoryInteractive
user: bill.gates@microsoft.com
Используются учетные данные, с которыми вы вошли в систему на текущем компьютере.
your_profile_name:
target: dev
outputs:
dev:
type: fabric
driver: 'ODBC Driver 18 for SQL Server' # (ODBC-драйвер, установленный в вашей системе)
server: hostname или IP вашего сервера
port: 1433
database: exampledb
schema: schema_name
authentication: ActiveDirectoryIntegrated