Configure dbt Cloud CLI
The dbt Cloud CLI is currently in public preview. Share feedback or request features you'd like to see on the dbt community Slack.
Prerequisites
- You must set up a project in dbt Cloud.
- Note — If you're using the dbt Cloud CLI, you can connect to your data platform directly in the dbt Cloud interface and don't need a
profiles.yml
file.
- Note — If you're using the dbt Cloud CLI, you can connect to your data platform directly in the dbt Cloud interface and don't need a
- You must have your personal development credentials set for that project. The dbt Cloud CLI will use these credentials, stored securely in dbt Cloud, to communicate with your data platform.
- You must be on dbt version 1.5 or higher. Refer to dbt Cloud versions to upgrade.
Configure the dbt Cloud CLI
Once you install the dbt Cloud CLI, you need to configure it to connect to a dbt Cloud project.
Ensure you meet the prerequisites above.
Download your credentials from dbt Cloud by clicking on the Try the dbt Cloud CLI banner on the dbt Cloud homepage. Alternatively, if you're in dbt Cloud, you can download the credentials from the links provided based on your region:
- North America: https://cloud.getdbt.com/cloud-cli
- EMEA: https://emea.dbt.com/cloud-cli
- APAC: https://au.dbt.com/cloud-cli
- North American Cell 1:
https:/ACCOUNT_PREFIX.us1.dbt.com/cloud-cli
- Single-tenant:
https://YOUR_ACCESS_URL/cloud-cli
Follow the banner instructions and download the config file to:
- Mac or Linux:
~/.dbt/dbt_cloud.yml
- Windows:
C:\Users\yourusername\.dbt\dbt_cloud.yml
The config file looks like this:
version: "1"
context:
active-project: "<project id from the list below>"
active-host: "<active host from the list>"
defer-env-id: "<optional defer environment id>"
projects:
- project-id: "<project-id>"
account-host: "<account-host>"
api-key: "<user-api-key>"
- project-id: "<project-id>"
account-host: "<account-host>"
api-key: "<user-api-key>"- Mac or Linux:
After downloading the config file, navigate to a dbt project in your terminal:
cd ~/dbt-projects/jaffle_shop
In your
dbt_project.yml
file, ensure you have or include adbt-cloud
section with aproject-id
field. Theproject-id
field contains the dbt Cloud project ID you want to use.# dbt_project.yml
name:
version:
...
dbt-cloud:
project-id: PROJECT_ID- To find your project ID, select Develop in the dbt Cloud navigation menu. You can use the URL to find the project ID. For example, in
https://cloud.getdbt.com/develop/26228/projects/123456
, the project ID is123456
.
- To find your project ID, select Develop in the dbt Cloud navigation menu. You can use the URL to find the project ID. For example, in
You can now use the dbt Cloud CLI and run dbt commands like
dbt compile
. With your repo recloned, you can add, edit, and sync files with your repo.
Set environment variables
To set environment variables in the dbt Cloud CLI for your dbt project:
- Select the gear icon on the upper right of the page.
- Then select Profile Settings, then Credentials.
- Click on your project and scroll to the Environment Variables section.
- Click Edit on the lower right and then set the user-level environment variables.
Use the dbt Cloud CLI
- The dbt Cloud CLI uses the same set of dbt commands and MetricFlow commands as dbt Core to execute the commands you provide.
- It allows you to automatically defer build artifacts to your Cloud project's production environment.
- It also supports project dependencies, which allows you to depend on another project using the metadata service in dbt Cloud.
- Project dependencies instantly connect to and reference (or
ref
) public models defined in other projects. You don't need to execute or analyze these upstream models yourself. Instead, you treat them as an API that returns a dataset.
- Project dependencies instantly connect to and reference (or
--help
flagAs a tip, most command-line tools have a --help
flag to show available commands and arguments. Use the --help
flag with dbt in two ways:
dbt --help
: Lists the commands available for dbtdbt run --help
: Lists the flags available for therun
command