Перейти к основному содержимому

Настройка Microsoft Fabric Data Warehouse

Файл profiles.yml предназначен только для dbt Core и dbt Fusion

Если вы используете dbt platform, вам не нужно создавать файл profiles.yml. Этот файл требуется только в том случае, если вы используете dbt Core или dbt Fusion локально. Чтобы узнать больше о требованиях к Fusion, см. раздел Supported features. Чтобы подключить вашу платформу данных к dbt, см. раздел About data platforms.

Ниже приведено руководство по работе с Fabric Data Warehouse — новым продуктом в составе Microsoft Fabric. В настоящее время адаптер поддерживает подключение к хранилищу данных (warehouse).

Чтобы узнать, как настроить dbt для работы с Fabric Lakehouse, см. раздел Microsoft Fabric Lakehouse.

Чтобы узнать, как настроить dbt для работы с выделенными SQL-пулами Analytics, см. раздел Microsoft Azure Synapse Analytics setup.

  • Поддерживается: Microsoft
  • Авторы: Microsoft
  • Репозиторий GitHub: Microsoft/dbt-fabric
  • Пакет PyPI: dbt-fabric
  • Канал в Slack:
  • Поддерживаемая версия dbt Core: 1.4.0 и новее
  • Поддержка dbt: Supported
  • Минимальная версия платформы данных:

Установка dbt-fabric

Установите адаптер с помощью pip. До версии 1.8 установка адаптера автоматически устанавливала dbt-core и любые дополнительные зависимости. Начиная с 1.8 установка адаптера не устанавливает dbt-core автоматически. Это потому, что версии адаптеров и dbt Core были развязаны, и мы больше не хотим перезаписывать существующие установки dbt-core. Используйте следующую команду для установки:

python -m pip install dbt-core dbt-fabric

Настройка 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 Data Warehouse (также называемыми warehouses).
  • Мы тестируем все комбинации с Microsoft ODBC Driver 17 и Microsoft ODBC Driver 18.
  • Сортировки (collations), на которых мы запускаем наши тесты — Latin1_General_100_BIN2_UTF8.

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

Неподдерживаемые конфигурации​

Конечные точки SQL analytics доступны только для чтения и поэтому не подходят для рабочих нагрузок трансформации, используйте вместо этого Warehouse.

Методы аутентификации и конфигурация профиля​

Supported authentication methods

Microsoft Fabric поддерживает два типа аутентификации:

  • Microsoft Entra service principal
  • Microsoft Entra password

Чтобы лучше разобраться в механизмах аутентификации, ознакомьтесь с нашей страницей Connect Microsoft Fabric.

Common configuration​

Для всех методов аутентификации обратитесь к следующим параметрам конфигурации, которые можно задать в вашем файле profiles.yml. Полная справка по всем параметрам доступна в конце этой страницы.

Параметр конфигурацииОписаниеТипПример
driverODBC-драйвер для использованияОбязательный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. Подробнее о шифровании соединения.НеобязательныйНе применимо
Loading table...

Шифрование соединения​

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 Data Warehouse.

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

Аутентификация Microsoft Entra ID (ранее Azure AD) является механизмом аутентификации по умолчанию в Microsoft Fabric Data Warehouse.

Следующие дополнительные методы доступны для аутентификации в продуктах Azure SQL:

  • Имя пользователя и пароль Microsoft Entra ID
  • Сервисный принципал
  • Аутентификация на основе окружения
  • Аутентификация Azure CLI
  • Аутентификация VS Code (доступна через автоматический вариант ниже)
  • Аутентификация модуля Azure PowerShell (доступна через автоматический вариант ниже)
  • Автоматическая аутентификация

Настройка автоматической аутентификации в большинстве случаев является самым простым выбором и работает для всех вышеперечисленных методов.

Сначала установите Azure CLI, затем выполните вход:

az login

profiles.yml
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

Дополнительные опции для Microsoft Entra ID на Windows​

На системах Windows также доступны следующие дополнительные методы аутентификации для Azure SQL:

  • Интерактивная аутентификация Microsoft Entra ID
  • Интегрированная аутентификация Microsoft Entra ID
  • Аутентификация Visual Studio (доступна через автоматический вариант выше)

Эта настройка может опционально показывать запросы многофакторной аутентификации.

profiles.yml
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

Автоматическое предоставление Microsoft Entra ID для грантов​

Обратите внимание, что автоматическое назначение принципалов Microsoft Entra ID в настоящее время не поддерживается Microsoft Fabric Data Warehouse. Несмотря на то что в dbt можно использовать блок конфигурации grants для автоматической выдачи и отзыва прав доступа на ваши модели для пользователей или групп, хранилище данных на данный момент не поддерживает эту возможность.

Вам нужно добавить сервисный принципал или идентичность Microsoft Entra в рабочее пространство Fabric в качестве администратора.

Авторизация схемы​

Вы можете опционально указать принципала, который должен владеть всеми схемами, создаваемыми dbt. Это затем используется в операторе CREATE SCHEMA следующим образом:

CREATE SCHEMA [schema_name] AUTHORIZATION [schema_authorization]

Распространенный случай использования — это использование, когда вы аутентифицируетесь с принципалом, у которого есть разрешения на основе группы, такой как группа Microsoft Entra ID. Когда этот принципал создает схему, сервер сначала попытается создать индивидуальный логин для этого принципала, а затем связать схему с этим принципалом. Если бы вы использовали Microsoft Entra ID в этом случае, то это бы не удалось, так как Azure SQL не может автоматически создавать логины для индивидуальных участников группы AD.

Справочник по всем параметрам подключения​

Параметр конфигурацииОписаниеОбязательныйЗначение по умолчанию
driverODBC-драйвер для использования.✅
hostИмя хоста сервера базы данных.✅
portПорт сервера базы данных.1433
databaseИмя базы данных для подключения.✅
schemaСхема для использования.✅
authenticationМетод аутентификации для использования. Это не требуется для аутентификации Windows.'sql'
UIDИмя пользователя для аутентификации. Это можно не указывать в зависимости от метода аутентификации.
PWDПароль для аутентификации. Это можно не указывать в зависимости от метода аутентификации.
tenant_idИдентификатор арендатора экземпляра Microsoft Entra ID. Это используется только при подключении к Azure SQL с сервисным принципалом.
client_idИдентификатор клиента сервисного принципала Microsoft Entra. Это используется только при подключении к Azure SQL с сервисным принципалом Microsoft Entra.
client_secretСекрет клиента сервисного принципала Microsoft Entra. Это используется только при подключении к Azure SQL с сервисным принципалом Microsoft Entra.
encryptУстановите это значение в false, чтобы отключить использование шифрования. См. выше.true
trust_certУстановите это значение в true, чтобы доверять сертификату сервера. См. выше.false
retriesКоличество попыток повторить неудачное соединение.1
schema_authorizationОпционально укажите принципала, который должен владеть схемами, создаваемыми dbt. Подробнее выше.
login_timeoutКоличество секунд ожидания до получения ответа от сервера при установлении соединения. 0 означает, что тайм-аут отключен.0
query_timeoutКоличество секунд ожидания до получения ответа от сервера при выполнении запроса. 0 означает, что тайм-аут отключен.0
Loading table...

Допустимые значения для authentication:

  • ActiveDirectoryPassword: Аутентификация Active Directory с использованием имени пользователя и пароля
  • ActiveDirectoryInteractive: Аутентификация Active Directory с использованием имени пользователя и запросов MFA
  • ActiveDirectoryIntegrated: Аутентификация Active Directory с использованием учетных данных текущего пользователя
  • ServicePrincipal: Аутентификация Microsoft Entra ID с использованием сервисного принципала
  • CLI: Аутентификация Microsoft Entra ID с использованием учетной записи, в которую вы вошли в Azure CLI
  • environment: Аутентификация Microsoft Entra ID с использованием переменных окружения, как задокументировано здесь
  • auto: Аутентификация Microsoft Entra ID, пробующая предыдущие методы аутентификации, пока не найдет работающий

Нашли ошибку?

0
Loading