Skip to content
Transformations

dbt Cloud

dbt Cloud is supported via dedicated components. You can find them in the menu section Components:

{: width=“100%” }

  • kds-team.ex-dbt-cloud-api for extracting data from dbt Cloud API

  • kds-team.app-dbt-cloud-job-trigger for triggering a dbt Cloud job remotely, and optionally, wait for the job results. In that case, the component stores artifacts as well.

{: width=“100%” }

The component configuration is pretty straightforward. You must authorize the component by providing your Account ID, Job ID, and API key.

The component generates a status table called dbt_cloud_trigger storing the job trigger API response:

{: width=“100%” }

When Wait for result is selected, the component polls the status until the job ends. The component has a default wait time limit that can be optionally set to a different time. When the option Wait for result is used, the component extracts artifacts, stores them in the file storage, and additionally, produces a job result API call table:

{: width=“100%” }

Both tables can be found in the storage, or accessed directly from the job result:

{: width=“100%” }

Artifacts can be found in the storage - files - search by tag:

{: width=“100%” }

Search by tag (component type or configuration ID):

tags:"componentId-kds-team.app-dbt-cloud-job-trigger"

{: width=“100%” }

Note: Please keep in mind that the base URL of the API call depends on the stack you are using: US vs. Azure EU vs. EU central.

The purpose of this data source connector is to extract and store the dbt Cloud API information (data is stored incrementally) for the following endpoints:

  • accounts

  • projects

  • jobs

  • runs

  • run_artifacts

To configure the source connector, enter the API token and select a default configuration:

{: width=“100%” }

You can access the data from Storage, or directly from the job detail screen:

{: width=“100%” }

Ask Kai

Ask anything about Keboola — I'll search the docs and cite the pages I use.