Настройка 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.
Методы аутентификации и конфигурация профиля
Microsoft Fabric поддерживает два типа аутентификации:
- Microsoft Entra service principal
- Microsoft Entra password
Чтобы лучше разобраться в механизмах аутентификации, ознакомьтесь с нашей страницей Connect Microsoft Fabric.
Common configuration
Для всех методов аутентификации обратитесь к следующим параметрам конфигурации, которые можно задать в вашем файле profiles.yml.
Полная справка по всем параметрам доступна в конце этой страницы.
| 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 (доступна через автоматический вариант ниже)
- Автоматическая аутентификация
Настройка автоматической аутентификации в большинстве случаев является самым простым выбором и работает для всех вышеперечисленных методов.
- Имя пользователя и пароль 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
Автоматическое предоставление 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.
Справочник по всем параметрам подключения
| Loading table... |
Допустимые значения для authentication:
ActiveDirectoryPassword: Аутентификация Active Directory с использованием имени пользователя и пароляActiveDirectoryInteractive: Аутентификация Active Directory с использованием имени пользователя и запросов MFAActiveDirectoryIntegrated: Аутентификация Active Directory с использованием учетных данных текущего пользователяServicePrincipal: Аутентификация Microsoft Entra ID с использованием сервисного принципалаCLI: Аутентификация Microsoft Entra ID с использованием учетной записи, в которую вы вошли в Azure CLIenvironment: Аутентификация Microsoft Entra ID с использованием переменных окружения, как задокументировано здесьauto: Аутентификация Microsoft Entra ID, пробующая предыдущие методы аутентификации, пока не найдет работающий