dbt_cloud.yml 파일
dbt_cloud.yml 파일
dbt_cloud.yml 파일은 dbt platform CLI, dbt VS Code 확장 같은 dbt 도구들이 dbt platform에 인증할 때 사용하는 자격 증명을 저장해요. dbt platform에서 다운로드해 로컬 .dbt 디렉터리에 저장할 수 있어요.
출처: 문서
본문
이 페이지는 다음을 다뤄요:
- 다운로드 방법과
.dbt디렉터리 설정 (dbt platform CLI 또는 VS Code 확장용) - 프로젝트 업데이트 또는 전환
- 파일 구조와 필드 참조
dbt_project.yml의 동반dbt-cloud블록
이 파일을 안전하게 보관하세요 —
dbt_cloud.yml파일은 API 키를 포함해요. 안전하게 저장하고 버전 관리에 커밋하지 않도록 하세요.
dbt_cloud.yml 다운로드
파일을 다운로드하는 방법은 dbt platform CLI를 설정하느냐 dbt VS Code 확장이냐에 따라 달라요. 다운로드한 dbt_cloud.yml에는 personal access token (PAT)이 포함돼요.
- dbt platform에서 작업할 프로젝트를 선택해요. 프로젝트에는 개발 환경이 이미 설정되어 있어야 해요.
- Account settings → Your profile로 이동한 다음 도구에 맞는 단계를 따라요:
- dbt platform CLI: CLI → Configure Cloud authentication으로 이동해 Download CLI configuration file을 클릭해요.
- dbt VS Code 확장: VS Code Extension → Set up your credentials로 이동해 Download credentials를 클릭해요.
-
파일을
.dbt디렉터리로 옮겨요. 아직 없다면 다음 빠른 설정(한 줄) 옵션 중 하나를 시도해요:Mac / Linux
mkdir -p ~/.dbt && mv ~/Downloads/dbt_cloud.yml ~/.dbt/dbt_cloud.ymlWindows
mkdir %USERPROFILE%\.dbt 2>nul & move %USERPROFILE%\Downloads\dbt_cloud.yml %USERPROFILE%\.dbt\dbt_cloud.yml.dbt디렉터리를 수동으로 만들고 이동하기.dbt디렉터리가 없었다면 다음 권장 단계로 하나 만드는 게 좋아요. 이미.dbt디렉터리가 있다면dbt_cloud.yml파일을 그 안으로 옮기기만 하면 돼요..dbt디렉터리에 대한 몇 가지 정보:.dbt디렉터리는 파일 시스템 루트의 숨김 폴더예요. dbt 구성 파일을 저장하는 데 쓰여요..접두사로 숨김 폴더를 만들어서 Finder나 File Explorer에서 기본적으로 보이지 않아요.- 숨김 파일·폴더를 보려면 macOS에서는 Command + Shift + G, Windows에서는 Ctrl + Shift + G를 눌러요. 그러면 "Go to Folder" 대화상자가 열리고
.dbt디렉터리를 검색할 수 있어요.
.dbt 디렉터리 만들기
- dbt 프로젝트 저장소를 로컬에 클론해요.
- 만들 폴더 이름과 함께
mkdir명령어를 사용해요.
-
macOS를 쓰면
~접두사를 추가해 파일 시스템 루트에.dbt폴더를 만들어요:- macOS:
mkdir ~/.dbt - Windows:
mkdir %USERPROFILE%\.dbt
- macOS:
dbt_cloud.yml 파일 옮기기
mv명령어로dbt_cloud.yml파일을.dbt디렉터리로 옮기거나, "Go to Folder" 대화상자로 Downloads 폴더를 열어 드래그-앤-드롭으로 옮길 수 있어요.터미널로 옮기려면
mv/move명령어를 사용해요. 이 명령어는Downloads폴더에서.dbt폴더로dbt_cloud.yml을 이동해요.dbt_cloud.yml파일이 다른 곳에 있다면 경로를 그에 맞게 조정해요.Mac 또는 Linux
명령줄에서
mv명령어로dbt_cloud.yml파일을.dbt디렉터리로 옮겨요. 방금 다운로드해서 Downloads 폴더에 있다면 명령어는 대략 이렇게 될 거예요:mv ~/Downloads/dbt_cloud.yml ~/.dbt/dbt_cloud.ymlWindows
명령줄에서 move 명령어를 사용해요. 파일이 Downloads 폴더에 있다고 가정하면 명령어는 대략 이렇게 될 거예요:
move %USERPROFILE%\Downloads\dbt_cloud.yml %USERPROFILE%\.dbt\dbt_cloud.yml다운로드한 파일에 숫자 접미사가 붙어 있다면(예:
dbt_cloud(2).yml), 옮기기 전에dbt_cloud.yml로 이름을 바꿔요. dbt platform CLI와 확장은 정확한 파일 이름만 찾아요. -
dbt_project.yml의dbt-cloud블록의project-id가 작업 중인 프로젝트와 일치하는지 확인해요. 이렇게 하면 도구를 dbt platform에 등록·연결하고 Mesh나 deferral 같은 platform 기능을 활성화해요.
프로젝트 업데이트 또는 전환
dbt_cloud.yml 파일은 머신 로컬에 있으며 자동으로 업데이트되지 않아요. 다음 경우에 다시 다운로드해야 해요:
- 새 프로젝트에 접근 권한을 얻어 로컬에서 작업하고 싶을 때
- 프로젝트가 계정에서 제거되거나 프로젝트 접근 권한이 바뀌었을 때
- 토큰이 바뀌거나 회전(rotate)되었을 때
- 계정이 리전을 옮기는 등 계정 호스트가 바뀌었을 때
파일은 같은 dbt platform 계정의 여러 프로젝트를 포함할 수 있어요. 프로젝트를 전환하려면 context.active-project를 사용하려는 프로젝트의 project-id로 업데이트해요. 활성 프로젝트는 projects 아래에 나열된 프로젝트 중 하나와 일치해야 해요.
여러 dbt platform 계정에서 작업한다면 계정마다 별도의 dbt_cloud.yml 파일을 유지하고, 사용할 파일을 .dbt 디렉터리로 옮겨요.
파일 구조
dbt_cloud.yml 파일의 구조는 다음과 같아요:
dbt_cloud.yml
version: "1"
context:
active-host: your_active_host # for example, "abc123.us1.dbt.com"
active-project: your_project_id # for example, "123456"
projects:
- project-name: your_project_name
project-id: your_project_id
account-name: your_account_name
account-id: your_account_id
account-host: your_account_host # for example, "abc123.us1.dbt.com"
token-name: your_token_name # for example, "cloud-cli-1234"
token-value: your_token_value
- project-name: your_project_name
project-id: your_project_id
account-name: your_account_name
account-id: your_account_id
account-host: your_account_host
token-name: your_token_name
token-value: your_token_value
예를 들어 "Jaffle and wizard shop" 계정이 있다면 dbt_cloud.yml 파일은 이렇게 보일 거예요:
dbt_cloud.yml
version: "1"
context:
active-host: "abc123.us1.dbt.com"
active-project: "123456"
projects:
- project-name: "Project 1"
project-id: "123"
account-name: "Jaffle and wizard shop"
account-id: "1"
account-host: "abc123.us1.dbt.com"
token-name: "cloud-cli-1091"
token-value: "dbtu_token_value" # this would be a longer token value
- project-name: "Project 2"
project-id: "456"
account-name: "Jaffle and wizard shop"
account-id: "1"
account-host: "abc123.us1.dbt.com"
token-name: "cloud-cli-1091"
token-value: "dbtu_token_value"
- project-name: "Project 3"
project-id: "789"
account-name: "Jaffle and wizard shop"
account-id: "1"
account-host: "abc123.us1.dbt.com"
token-name: "cloud-cli-1091"
token-value: "dbtu_token_value"
필드 참조
| Field | Required | Description |
|---|---|---|
version |
Yes | 파일의 스키마 버전. 현재 "1". |
context.active-host |
Yes | 기본으로 사용할 account-host. Account settings 페이지에서 찾을 수 있어요. |
context.active-project |
Yes | 명령어를 실행할 때 기본으로 사용할 프로젝트의 project-id. projects 아래 나열된 project-id와 일치해야 해요. |
context.defer-env-id |
No | 빌드 아티팩트를 위해 defer할 환경 ID. 프로젝트 기본 deferral 환경의 선택적 오버라이드. dbt platform CLI 전용. Configure deferral 참고. |
projects.project-name |
Yes | 프로젝트의 사람이 읽기 좋은 이름. |
projects.project-id |
Yes | dbt platform 프로젝트 ID. 프로젝트를 볼 때 URL에서 찾아요(예: …/projects/123456). |
projects.account-name |
Yes | 계정의 사람이 읽기 좋은 이름. |
projects.account-id |
Yes | dbt platform 계정 ID. |
projects.account-host |
Yes | 계정의 호스트. 예: cloud.getdbt.com, emea.dbt.com, 또는 단일 테넌트 액세스 URL. |
projects.token-name |
Yes | Personal access token (PAT)의 이름. |
projects.token-value |
Yes | PAT 값. 비밀로 취급해요. |
dbt_project.yml의 dbt-cloud 블록
dbt-cloud 블록은 프로젝트의 dbt_project.yml 파일(dbt_cloud.yml이 아니라)에 사는 동반 설정이에요. dbt platform CLI, Studio IDE, dbt v2에 로컬 프로젝트가 어떤 dbt platform 프로젝트에 해당하는지 알려줘요.
dbt_project.yml
name:
version:
# Your project configs...
dbt-cloud:
project-id: your_project_id
defer-env-id: '123456' # optional
| Field | Required | Description |
|---|---|---|
project-id |
Yes | 이 로컬 프로젝트가 매핑되는 dbt platform 프로젝트 ID. 프로젝트를 볼 때 URL에서 찾아요(예: https://YOUR_ACCESS_URL/develop/26228/projects/123456 → 123456). |
defer-env-id |
No | 빌드 아티팩트를 위해 defer할 환경 ID. dbt v2 auto-deferral과 dbt platform CLI deferral 오버라이드에 사용돼요. |
account_id |
No | dbt v2 전용. 이 로컬 프로젝트가 속한 dbt platform 계정 ID. 이 블록의 다른 필드와 달리 하이픈이 아니라 밑줄이라는 점을 유의해요. |
더 알아보기 (Learn more)
dbt_cloud.yml은 dbt platform 인증용 자격 증명 파일이에요. 절대 커밋하지 마세요.- 관련 개념: dbt platform CLI, dbt_project.yml.