О Discovery API
При каждом запуске проекта dbt генерирует и сохраняет информацию о нём. Эти метаданные содержат сведения о моделях, источниках и других узлах проекта, а также результаты их выполнения. С помощью Discovery API в dbt вы можете запрашивать эту подробную информацию, чтобы лучше понимать свой DAG и данные, которые он формирует.
Используя метаданные в dbt, вы можете создавать системы мониторинга данных и оповещений, исследования происхождения данных и автоматизированной отчётности. Это поможет вам улучшить поиск данных, их качество и работу конвейеров в вашей организации.
Вы можете обращаться к Discovery API с помощью разовых запросов, собственных приложений, широкого набора интеграций партнёрской экосистемы (например, для BI и аналитики, каталогизации и управления данными, контроля качества и наблюдаемости), а также используя такие возможности dbt, как статистика времени выполнения моделей и плитки состояния данных.
Информацию о квотах запросов и механизме ограничения их частоты см. в разделе Ограничения частоты запросов API.
Вы можете запрашивать метаданные dbt:
- На уровне окружения — как для получения последнего состояния (используйте эндпоинт
environment), так и для получения исторических результатов запусков (используйтеmodelHistoricalRuns) проекта dbt в рабочей среде. - На уровне задания — для получения результатов конкретного запуска задания dbt для заданного типа ресурса, например
modelsилиtest.
Предварительные требования
- У вас должна быть мультитенантная или однотенантная учетная запись dbt.
- Вы должны использовать тарифный план Starter, Enterprise или Enterprise+.
- Ваши проекты должны использовать каналы выпуска dbt или dbt версии 1.0 или более поздней. Инструкции по обновлению см. в разделе Обновление версии dbt в Cloud.
Для чего можно использовать Discovery API
Нажмите на следующие вкладки, чтобы узнать больше о случаях использования API, анализе, который вы можете провести, и результатах, которых вы можете достичь, интегрировав его.
Чтобы использовать API напрямую или интегрировать с ним свой инструмент, обратитесь к разделу Сценарии использования и примеры, где приведена подробная информация.
- Производительность
- Качество
- Обнаружение
- Управление
- Разработка
Используйте API для анализа исторических данных, таких как время сборки моделей, чтобы оценить состояние ваших проектов dbt. Выявление неэффективных настроек оркестрации может помочь снизить затраты на инфраструктуру и обеспечить более своевременное выполнение задач. Подробнее о том, как это сделать, см. в разделе Производительность.
Например, вы можете использовать вкладку времени выполнения моделей, чтобы выявить и устранить узкие места при сборке моделей:
Используйте API, чтобы определять точность и актуальность данных, отслеживая сбои тестов, свежесть источников и статус запусков. Точная и надежная информация важна для аналитики, принятия решений и мониторинга и помогает вашей организации избегать ошибочных решений. Подробнее об этом см. в разделе Качество.
При использовании с вебхуками это также может помочь в обнаружении, расследовании и оповещении о проблемах.
Используйте API, чтобы находить и изучать ресурсы dbt в интегрированных инструментах на основе определений моделей и метрик, а также информации о столбцах. Подробнее см. в разделе Discovery.
Производители данных должны управлять и организовывать данные для заинтересованных сторон, в то время как потребители данных должны быстро и уверенно анализировать данные в большом масштабе, чтобы принимать обоснованные решения, которые улучшают бизнес-результаты и снижают организационные издержки. API полезен для обнаружения данных в каталогах, аналитических приложениях и инструментах машинного обучения (ML). Он может помочь вам понять происхождение и значение наборов данных для вашего анализа.
Используйте API, чтобы узнать, кто разработал модели и кто их использует, и на основе этой информации выработать стандартные практики для улучшения управления данными. Подробнее см. в разделе Управление данными.
Используйте API для анализа изменений и использования наборов данных, изучая экспозиции (exposures), происхождение данных и зависимости. Результаты анализа помогут вам понять, как создавать и развивать более эффективные проекты dbt. Подробнее см. в разделе Разработка.
Типы состояния проекта
На уровне окружения можно запрашивать эти два типа состояния проекта:
- Определение — Логическое состояние ресурсов проекта dbt, которое обновляется при изменении проекта.
- Примененное — Результат успешного выполнения DAG dbt, который создает или описывает состояние базы данных (например:
dbt run,dbt test, свежесть источников и так далее).
Эти состояния позволяют вам легко изучать разницу между определением модели и ее примененным состоянием, чтобы вы могли получить ответы на такие вопросы, как: была ли выполнена модель? или выполнение не удалось? Примененные модели существуют как таблица/представление в платформе данных после их последнего успешного выполнения.



