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

Настройка dbt Snowflake Native App Preview

dbt Snowflake Native App включает следующие возможности непосредственно в интерфейсе Snowflake: Catalog, чат-бот Ask dbt, а также функции наблюдаемости оркестрации из dbt.

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

  1. Настроить конфигурацию Ask dbt.
  2. Настроить Snowflake.
  3. Настроить dbt.
  4. Приобрести и установить dbt Snowflake Native App.
  5. Настроить приложение.
  6. Проверить успешную установку приложения.
  7. Подключить новых пользователей к приложению.

Порядок шагов немного отличается, если вы приобрели публичный листинг Native App: в этом случае вы начинаете с покупки Native App, выполнения предварительных требований, а затем последовательно выполняете оставшиеся шаги.

Предварительные требования

Ниже приведены предварительные требования для dbt и Snowflake.

dbt

  • У вас должен быть аккаунт dbt на тарифе уровня Enterprise, размещённый в регионе AWS или Azure. Если у вас его ещё нет, пожалуйста, свяжитесь с нами, чтобы начать.
    • В настоящее время Semantic Layer недоступен для Azure ST-инстансов, и чат-бот Ask dbt не будет работать в dbt Snowflake Native App без него.
  • У вашего аккаунта dbt должны быть права на создание service token. Подробнее см. в разделе Enterprise permissions.
  • В dbt должен существовать проект с настроенным Semantic Layer и объявленными метриками.
  • У вас должна быть настроена production deployment environment.
    • В этом окружении должен быть как минимум один успешный запуск job, включающий шаг docs generate.

Snowflake

  • У вас есть доступ ACCOUNTADMIN в Snowflake.
  • Ваш аккаунт Snowflake должен иметь доступ к интеграции Native App/SPCS и конфигурациям NA/SPCS (публичный превью планируется в конце июня). Если вы не уверены, уточните у вашего аккаунт-менеджера Snowflake.
  • Аккаунт Snowflake должен находиться в регионе AWS. Azure в настоящее время не поддерживается для интеграции Native App/SPCS.
  • У вас должен быть доступ к Snowflake Cortex через ваши права в Snowflake, и Snowflake Cortex должен быть доступен в вашем регионе. Без этого Ask dbt работать не будет.

Настройка конфигурации для Ask dbt

Настройте dbt и Snowflake Cortex для работы чат-бота Ask dbt.

  1. В dbt перейдите к конфигурациям Semantic Layer.

    1. В левой панели навигации нажмите на имя вашего аккаунта. Затем выберите Account settings.
    2. В левой боковой панели выберите Projects и выберите ваш dbt-проект из списка.
    3. В панели Project details нажмите ссылку Edit Semantic Layer Configuration (она находится ниже параметра GraphQL URL).
  2. В панели Semantic Layer Configuration Details определите учётные данные Snowflake (которые будут использоваться для доступа к Snowflake Cortex), а также окружение, в котором выполняется Semantic Layer. Сохраните имя пользователя, роль и окружение во временном месте — они понадобятся позже.

    Учетные данные Semantic LayerУчетные данные Semantic Layer
  3. В Snowflake убедитесь, что пользователю SL и пользователю деплоя предоставлены права на использование Snowflake Cortex. Подробнее см. в разделе Required Privileges документации Snowflake.

    По умолчанию все пользователи должны иметь доступ к Snowflake Cortex. Если у вас он отключён, откройте SQL worksheet в Snowflake и выполните следующие команды:

    create role cortex_user_role;
    grant database role SNOWFLAKE.CORTEX_USER to role cortex_user_role;
    grant role cortex_user_role to user SL_USER;
    grant role cortex_user_role to user DEPLOYMENT_USER;

    Обязательно замените SNOWFLAKE.CORTEX_USER, DEPLOYMENT_USER и SL_USER на соответствующие значения для вашей среды.

Настройка dbt

Соберите следующую информацию из dbt для настройки приложения.

  1. В левой панели навигации нажмите на имя вашего аккаунта. Затем выберите Account settings и перейдите в API tokens > Service tokens. Создайте service token с доступом ко всем проектам, которые вы хотите использовать в dbt Snowflake Native App. Назначьте следующие наборы прав:

    • Manage marketplace apps
    • Job Admin
    • Metadata Only
    • Semantic Layer Only

    Обязательно сохраните данные токена во временном месте — они понадобятся позже при настройке Native App.

    Ниже приведён пример назначения наборов прав для всех проектов:

    Пример service token для dbt Snowflake Native AppПример service token для dbt Snowflake Native App
  2. В левой боковой панели выберите Account и сохраните следующую информацию во временном месте для последующей настройки Native App:

    • Account ID — числовая строка, представляющая ваш аккаунт dbt.
    • Access URL — если у вас мультиарендный аккаунт в Северной Америке, используйте cloud.getdbt.com в качестве access URL. Для всех остальных регионов см. раздел Access, Regions, & IP addresses и найдите нужный access URL в таблице.

Установка dbt Snowflake Native App

  1. Перейдите к листингу dbt Snowflake Native App:

    • Private listing (рекомендуется) — используйте ссылку из письма, отправленного вам.
    • Public listing — перейдите в Snowflake Marketplace.
  2. Нажмите Get на странице листинга, чтобы установить dbt Snowflake Native App. Процесс может занять несколько минут. После завершения установки вам будет отправлено письмо.

    Появится сообщение с предложением изменить приложение и предоставить доступ к warehouse для установки. dbt Labs настоятельно рекомендует не изменять имя приложения, если в этом нет необходимости.

  3. После успешной установки dbt Snowflake Native App нажмите Configure в модальном окне.

Настройка dbt Snowflake Native App

  1. На странице Activate dbt нажмите Grant в Step 1: Grant Account Privileges.

  2. После успешного предоставления прав нажмите Review в Step 2: Allow Connections.

    Пройдите шаги Connect to dbt External Access Integration. Вам понадобится информация об аккаунте dbt, которую вы собрали ранее. Введите Account ID, Access URL и API service token в качестве Secret value, когда будет предложено.

  3. На странице Activate dbt нажмите Activate, когда соединение с dbt External Access Integration будет успешно установлено. Запуск необходимых сервисов Snowflake и вычислительных ресурсов может занять несколько минут.

  4. После завершения активации перейдите на вкладку Telemetry и включите отправку логов уровня INFO. Отображение этой опции может занять некоторое время, так как Snowflake должен создать таблицу событий для совместного использования.

  5. После успешного включения опции нажмите Launch app, затем войдите в приложение, используя свои учётные данные Snowflake.

    Если вместо страницы входа происходит перенаправление в Snowsight worksheet, это означает, что установка приложения ещё не завершена. Обычно эту проблему можно решить, обновив страницу.

    Ниже приведён пример dbt Snowflake Native App после завершения настройки:

    Пример dbt Snowflake Native AppПример dbt Snowflake Native App

Проверка успешной установки приложения

Чтобы убедиться, что приложение установлено корректно, выберите любой из следующих пунктов в боковом меню:

  • Explore — запустите Catalog и убедитесь, что у вас есть доступ к информации о вашем dbt-проекте.
  • Jobs — просмотрите историю запусков dbt job’ов.
  • Ask dbt — нажмите на любой из предложенных запросов, чтобы задать вопрос чат-боту. В зависимости от количества метрик, определённых в dbt-проекте, первая загрузка Ask dbt может занять несколько минут, так как dbt строит Retrieval Augmented Generation (RAG). Последующие запуски будут происходить быстрее.

Ниже приведён пример чат-бота Ask dbt с предложенными запросами в верхней части:

Пример чат-бота Ask dbtПример чат-бота Ask dbt

Подключение новых пользователей

  1. В боковом меню Snowflake выберите Data Products > Apps. Выберите dbt из списка, чтобы открыть страницу конфигурации приложения. Затем нажмите Manage access (в правом верхнем углу), чтобы подключить новых пользователей к приложению. Назначьте роль APP_USER тем ролям, которым нужен доступ к приложению без возможности редактировать конфигурации. Назначьте APP_ADMIN ролям, которые должны иметь возможность редактировать или удалять конфигурации.

  2. Новые пользователи могут получить доступ к приложению либо по URL Snowflake app, который был им предоставлен, либо нажав Launch app на странице конфигурации приложения.

FAQs

 Не удаётся установить dbt Snowflake Native App из Snowflake Marketplace

dbt Snowflake Native App недоступен для аккаунтов Snowflake Free Trial.

 Получено сообщение об ошибке `Unable to access schema dbt_sl_llm` в Ask dbt

Проверьте, что пользователю SL предоставлен доступ к схеме dbt_sl_llm, и убедитесь, что у него есть все необходимые права для чтения и записи в эту схему.

 Необходимо обновить параметры конфигурации dbt, используемые Native App

Если был обновлён Account ID, Access URL или API service token в dbt, необходимо обновить конфигурацию dbt Snowflake Native App. В Snowflake перейдите на страницу конфигурации приложения и удалите существующие настройки. Затем добавьте новую конфигурацию и выполните команду CALL app_public.restart_app(); в базе данных приложения в Snowsight.

 Поддерживаются ли переменные окружения в Native App?

Переменные окружения, такие как {{env_var('DBT_WAREHOUSE') }}, пока не поддерживаются в Semantic Layer. Для использования функции Ask dbt необходимо указывать реальные учётные данные.

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

0
Loading