Git 저장소 연결 및 워크플로 실행
이 빠른 시작에서는 Dataform 저장소를 만들고, 기존 서드 파티 Git 저장소에 연결하고, 워크플로를 실행하는 과정을 안내합니다.Google Cloud 콘솔과 Dataform API를 사용하여 다음 작업을 실행합니다.
- Dataform 저장소 만들기
- 저장소를
dataform-co/dataform-example-project-bigqueryGitHub 저장소에 연결합니다. - 개발 작업공간을 만들고 초기화합니다.
- 프로젝트에 새 뷰를 추가합니다.
- 프로젝트를 컴파일하고 BigQuery에서 워크플로를 실행합니다.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery, Dataform, and Secret Manager APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery, Dataform, and Secret Manager APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
필요한 역할
이 빠른 시작의 모든 태스크를 수행하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
- 프로젝트 또는 저장소에 대한 Dataform 관리자 (
roles/dataform.admin) - 프로젝트 또는 특정 데이터 세트에 대한 BigQuery 데이터 편집자 (
roles/bigquery.dataEditor) - 프로젝트에 대한 BigQuery 작업 사용자(
roles/bigquery.jobUser) - 커스텀 서비스 계정에 대한 서비스 계정 사용자 (
roles/iam.serviceAccountUser) 역할
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
Dataform 저장소 만들기
저장소는 Dataform 프로젝트의 기본 컨테이너입니다. 다음 옵션 중 하나를 선택합니다.
콘솔
BigQuery Dataform 페이지로 이동합니다.
저장소 만들기를 클릭합니다.
저장소 만들기 페이지에서 다음을 수행합니다.
- 저장소 ID 필드에
quickstart-repo을 입력합니다. - 리전 목록에서 리전을 선택합니다(예:
europe-west4). - 서비스 계정 목록에서 저장소의 맞춤 서비스 계정을 선택합니다.
- 만들기를 클릭합니다.
- 저장소로 이동을 클릭합니다.
- 저장소 ID 필드에
Dataform 저장소를 만들었습니다. 그런 다음 Dataform 저장소를 원격 Git 저장소에 연결할 수 있습니다.
API
저장소를 만들려면 projects.locations.repositories.create 메서드를 사용합니다.
다음 정보를 사용하여 API 요청을 실행합니다.
- 엔드포인트:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories - 쿼리 매개변수:
repositoryId=REPOSITORY_ID
또는 터미널에서 다음 curl 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"serviceAccount": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"}' \
"https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories?repositoryId=REPOSITORY_ID"
다음을 바꿉니다.
SERVICE_ACCOUNT_NAME: BigQuery 작업을 실행하기 위해 만든 맞춤 서비스 계정의 ID입니다.PROJECT_ID: Dataform 저장소를 만들Google Cloud 프로젝트의 고유 식별자입니다.LOCATION: 저장소를 만들 Google Cloud 리전(예:europe-west4)REPOSITORY_ID: 새 Dataform 저장소의 고유 식별자입니다(예:quickstart-repo).
Dataform 저장소를 만들었습니다. 그런 다음 Dataform 저장소를 원격 Git 저장소에 연결할 수 있습니다.
Git 저장소에 연결
Dataform 저장소를 프로젝트에 연결하려면 다음 옵션 중 하나를 선택합니다.
콘솔
Secret Manager 페이지로 이동합니다.
보안 비밀 만들기를 클릭합니다.
이름 필드에
dataform-git-token를 입력합니다.보안 비밀 값 필드에 GitHub 개인 액세스 토큰(PAT)을 입력합니다.
PAT를 만드는 방법은 개인 액세스 토큰 관리를 참고하세요.
조직의 보안 정책에 따라 토큰의 만료일을 설정하는 것이 좋습니다.
보안 비밀 만들기를 클릭합니다.
보안 비밀 세부정보 페이지에서 권한 탭을 클릭한 다음 액세스 권한 부여를 클릭합니다.
새 주 구성원 필드에 Dataform 서비스 에이전트인
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com을 입력합니다.여기에서
PROJECT_NUMBER를Google Cloud 프로젝트 번호로 바꿉니다. 프로젝트 번호를 찾는 방법에 대한 자세한 내용은 프로젝트 이름, 번호, ID 찾기를 참고하세요.역할 선택 필드에서 Secret Manager > Secret Manager 보안 비밀 접근자를 선택합니다.
저장을 클릭합니다.
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
quickstart-repo을(를) 클릭합니다.저장소 페이지에서 설정 > Git과 연결을 클릭합니다.
원격 저장소에 연결 창에서 HTTPS를 선택합니다.
원격 Git 저장소 URL 필드에
https://github.com/dataform-co/dataform-example-project-bigquery.git를 입력합니다.기본 원격 브랜치 이름 필드에
master를 입력합니다.보안 비밀 메뉴에서
dataform-git-token을 선택합니다.링크를 클릭합니다.
Dataform 저장소를 원격 Git 저장소에 연결하고 필요한 권한을 부여했습니다. 그런 다음 개발 작업공간을 만들고 초기화할 수 있습니다.
API
Git 개인 액세스 토큰을 저장하려면
projects.secrets.create메서드를 사용하여 Secret Manager에 보안 비밀을 만듭니다. 다음 정보를 사용하여 API 요청을 실행합니다.- 엔드포인트:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets - 쿼리 매개변수:
secretId=dataform-git-token Body:
{ "replication": { "automatic": {} } }
또는 터미널에서 다음
curl명령어를 실행합니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "replication": { "automatic": {} } }' \ "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=dataform-git-token"- 엔드포인트:
GitHub 개인 액세스 토큰(PAT)이 포함된 보안 비밀에 버전을 추가합니다. PAT를 만드는 방법은 개인 액세스 토큰 관리를 참고하세요. 조직의 보안 정책에 따라 토큰의 만료일을 설정하는 것이 좋습니다.
보안 비밀 버전을 추가하려면
projects.secrets.addVersion메서드를 사용합니다. 다음 정보를 사용하여 API 요청을 실행합니다.- 엔드포인트:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:addVersion Body:
{ "payload": { "data": "GITHUB_PAT" } }
또는 터미널에서 다음
curl명령어를 실행합니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "payload": { "data": "$(echo -n "GITHUB_PAT" | base64)" } }' \ "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:addVersion"GITHUB_PAT을 GitHub 개인 액세스 토큰으로 바꿉니다.curl명령어는 요청을 보내기 전에 PAT를 Base64로 인코딩된 문자열로 자동 변환합니다.- 엔드포인트:
Dataform이 보안 비밀에 액세스하도록 허용하려면 Dataform 서비스 에이전트에 Secret Manager 보안 비밀 접근자 역할(
roles/secretmanager.secretAccessor)을 부여하세요. 역할을 부여하려면 다음 옵션 중 하나를 선택합니다.gcloud
gcloud secrets add-iam-policy-binding명령어를 실행합니다.gcloud secrets add-iam-policy-binding dataform-git-token \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor"여기에서
PROJECT_NUMBER를Google Cloud 프로젝트 번호로 바꿉니다. 프로젝트 번호를 찾는 방법에 대한 자세한 내용은 프로젝트 이름, 번호, ID 찾기를 참고하세요.Secret Manager API
projects.secrets.setIamPolicy메서드를 사용합니다. 다음 정보를 사용하여 API 요청을 실행합니다.- 엔드포인트:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:setIamPolicy Body:
{ "policy": { "bindings": [ { "role": "roles/secretmanager.secretAccessor", "members": [ "serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com" ] } ] } }
또는 터미널에서 다음
curl명령어를 실행합니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "bindings": [ { "role": "roles/secretmanager.secretAccessor", "members": [ "serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com" ] } ] } }' \ "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:setIamPolicy"여기에서
PROJECT_NUMBER를Google Cloud 프로젝트 번호로 바꿉니다. 프로젝트 번호를 찾는 방법에 대한 자세한 내용은 프로젝트 이름, 번호, ID 찾기를 참고하세요.- 엔드포인트:
저장소를 원격 Git 저장소에 연결하려면
projects.locations.repositories.patch메서드를 사용하세요. 다음 정보를 사용하여 API 요청을 실행합니다.- 엔드포인트:
PATCH https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID - 쿼리 매개변수:
updateMask=gitRemoteSettings
또는 터미널에서 다음
curl명령어를 실행합니다.curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "gitRemoteSettings": { "url": "https://github.com/dataform-co/dataform-example-project-bigquery.git", "defaultBranch": "master", "authenticationTokenSecretVersion": "projects/PROJECT_ID/secrets/dataform-git-token/versions/1" } }' \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID?updateMask=gitRemoteSettings"- 엔드포인트:
Dataform 저장소를 원격 Git 저장소에 연결하고 필요한 권한을 부여했습니다. 그런 다음 개발 작업공간을 만들고 초기화할 수 있습니다.
개발 작업공간 만들기 및 초기화
작업공간은 격리된 개발 환경입니다. 작업공간을 만들고 초기화하려면 다음 옵션 중 하나를 선택합니다.
콘솔
BigQuery Dataform 페이지로 이동합니다.
quickstart-repo을(를) 클릭합니다.저장소에서 개발 작업공간 탭으로 이동합니다.
개발 작업공간 만들기를 클릭합니다.
작업공간 ID 필드에
dev-workspace를 입력합니다.만들기를 클릭합니다.
개발 작업공간 탭에서
dev-workspace작업공간을 선택합니다.
개발 작업공간을 만들고 초기화했습니다. 다음으로 워크플로 설정을 구성할 수 있습니다.
API
작업공간을 만들려면 projects.locations.repositories.workspaces.create 메서드를 사용합니다.
다음 정보를 사용하여 API 요청을 실행합니다.
- 엔드포인트:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces - 쿼리 매개변수:
workspaceId=WORKSPACE_ID
또는 터미널에서 다음 curl 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{}" \
"https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces?workspaceId=WORKSPACE_ID"
WORKSPACE_ID을 새 Dataform 개발 작업공간의 고유 식별자(예: dev-workspace)로 바꿉니다.
개발 작업공간을 만들고 초기화했습니다. 다음으로 워크플로 설정을 구성할 수 있습니다.
워크플로 설정 구성
이 섹션에서는 workflow_settings.yaml 파일의 프로젝트 ID를 업데이트하여 Dataform이Google Cloud 프로젝트에서 워크플로를 실행하도록 합니다. 워크플로 설정을 구성하려면 다음 옵션 중 하나를 선택합니다.
콘솔
BigQuery Dataform 페이지로 이동합니다.
quickstart-repo을(를) 클릭합니다.저장소에서 개발 작업공간 탭으로 이동한 다음
dev-workspace를 클릭합니다.파일 창에서
workflow_settings.yaml을 선택합니다.파일에서
defaultProject값을 프로젝트 ID로 바꿉니다.파일이 자동으로 저장됩니다.
워크플로 설정이 업데이트되었습니다. 그런 다음 프로젝트에 새 소스 선언을 추가할 수 있습니다.
API
workflow_settings.yaml이라는 로컬 파일을 만들고 다음 구성을 파일에 붙여넣습니다.defaultProject: PROJECT_ID defaultDataset: dataform dataformCoreVersion: CORE_VERSIONCORE_VERSION을 Dataform 코어의 최신 안정화(베타 아님) 버전으로 바꿉니다(예:3.0.43). 최신 버전은 출시에서 확인할 수 있습니다.터미널에서 파일 콘텐츠를 Base64 문자열로 인코딩합니다.
base64 -w 0 workflow_settings.yaml이 단계의 후반에서 대체
curl명령어를 사용하기로 결정한 경우 결과 출력 문자열을 복사하여SETTINGS_DEFINITION자리표시자에 사용합니다.워크플로 설정을 업데이트하려면
projects.locations.repositories.workspaces.writeFile메서드를 사용합니다. 다음 정보를 사용하여 API 요청을 실행합니다.- 엔드포인트:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile
또는 터미널에서 다음
curl명령어를 실행합니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "path": "workflow_settings.yaml", "contents": "SETTINGS_DEFINITION" }' \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"SETTINGS_DEFINITION을 YAML 파일의 콘텐츠로 바꾸고 Base64로 인코딩된 문자열로 지정합니다.- 엔드포인트:
워크플로 설정이 업데이트되었습니다. 그런 다음 프로젝트에 새 소스 선언을 추가할 수 있습니다.
소스 만들기
이 섹션에서는 Dataform이 워크플로에서 기존 BigQuery 데이터 세트를 데이터 소스로 참조할 수 있도록 기존 BigQuery 데이터 세트를 정의하는 새 SQLX 소스 선언을 프로젝트에 추가합니다. 새 소스를 만들려면 다음 옵션 중 하나를 선택합니다.
콘솔
BigQuery Dataform 페이지로 이동합니다.
quickstart-repo을(를) 클릭합니다.저장소에서 개발 작업공간 탭으로 이동한 다음
dev-workspace를 클릭합니다.파일 창에서
definitions폴더를 선택합니다.파일 작업 더보기 > 파일 만들기를 클릭합니다.
파일 경로 추가 필드에
definitions/sources/tags.sqlx를 입력합니다.파일 만들기를 클릭합니다.
새
definitions/sources/tags.sqlx파일의 SQL 편집기에 다음 코드를 붙여넣습니다.config { type: "declaration", database: "bigquery-public-data", schema: "stackoverflow", name: "tags" }
소스 선언을 만들었습니다. 다음으로 프로젝트에 새 뷰를 추가할 수 있습니다.
API
tags.sqlx라는 로컬 파일을 만듭니다.다음 코드를
tags.sqlx파일에 붙여넣습니다.config { type: "declaration", database: "bigquery-public-data", schema: "stackoverflow", name: "tags" }터미널에서 파일 콘텐츠를 하나의 연속된 문자열로 인코딩합니다.
base64 -w 0 tags.sqlx이 단계의 후반에서 대체
curl명령어를 사용하기로 결정한 경우 결과 출력 문자열을 복사하여SOURCE_DEFINITION자리표시자에 사용합니다.작업공간에서 소스 선언 파일을 만들려면
projects.locations.repositories.workspaces.writeFile메서드를 사용합니다. 다음 정보를 사용하여 API 요청을 실행합니다.- 엔드포인트:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile
또는 터미널에서 다음
curl명령어를 실행합니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "path": "definitions/sources/tags.sqlx", "contents": "SOURCE_DEFINITION" }' \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"SOURCE_DEFINITION을 SQLX 파일의 콘텐츠(Base64로 인코딩된 문자열)로 바꿉니다.- 엔드포인트:
소스 선언을 만들었습니다. 다음으로 프로젝트에 새 뷰를 추가할 수 있습니다.
뷰 만들기
이 섹션에서는 뷰를 정의하는 새 SQLX 파일을 프로젝트에 추가합니다. 새 뷰를 만들려면 다음 옵션 중 하나를 선택합니다.
콘솔
BigQuery Dataform 페이지로 이동합니다.
quickstart-repo을(를) 클릭합니다.저장소에서 개발 작업공간 탭으로 이동한 다음
dev-workspace를 클릭합니다.파일 창에서
definitions폴더를 선택합니다.파일 작업 더보기 > 파일 만들기를 클릭합니다.
파일 경로 추가 필드에
definitions/top_question_tags.sqlx를 입력합니다.파일 만들기를 클릭합니다.
새
definitions/top_question_tags.sqlx파일의 SQL 편집기에 다음 코드를 붙여넣습니다.config { type: "view", name: "top_question_tags", tags: ["daily"], schema: "reporting", } select tag_name, count from ${ref("tags")} order by count desc limit 100
뷰가 생성되었습니다. 그런 다음 프로젝트를 컴파일할 수 있습니다.
API
top_question_tags.sqlx라는 로컬 파일을 만듭니다.다음 코드를
top_question_tags.sqlx파일에 붙여넣습니다.config { type: "view", name: "top_question_tags", tags: ["daily"], schema: "reporting", } select tag_name, count from ${ref("tags")} order by count desc limit 100터미널에서 파일 콘텐츠를 하나의 연속된 문자열로 인코딩합니다.
base64 -w 0 top_question_tags.sqlx이 단계의 후반에서 대체
curl명령어를 사용하기로 결정한 경우 결과 출력 문자열을 복사하여VIEW_DEFINITION자리표시자에 사용합니다.작업공간에서 뷰 정의 파일을 만들려면
projects.locations.repositories.workspaces.writeFile메서드를 사용합니다. 다음 정보를 사용하여 API 요청을 실행합니다.- 엔드포인트:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile
또는 터미널에서 다음
curl명령어를 실행합니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "path": "definitions/top_question_tags.sqlx", "contents": "VIEW_DEFINITION" }' \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"VIEW_DEFINITION을 SQLX 파일의 콘텐츠(Base64로 인코딩된 문자열)로 바꿉니다.- 엔드포인트:
뷰가 생성되었습니다. 그런 다음 프로젝트를 컴파일할 수 있습니다.
프로젝트 컴파일
컴파일은 SQLX 파일을 순수 SQL 실행 그래프로 변환합니다. 프로젝트를 컴파일하려면 다음 옵션 중 하나를 선택합니다.
콘솔
Google Cloud 콘솔은 프로젝트를 자동으로 컴파일합니다. 작업공간의 컴파일된 그래프 탭에서 컴파일을 확인할 수 있습니다.
프로젝트를 컴파일하고 실행 그래프를 확인했습니다. 그런 다음 BigQuery에서 워크플로를 실행할 수 있습니다.
API
작업공간을 기반으로 컴파일 결과를 만들려면
projects.locations.repositories.compilationResults.create메서드를 사용합니다. 다음 정보를 사용하여 API 요청을 실행합니다.- 엔드포인트:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults
또는 터미널에서 다음
curl명령어를 실행합니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "workspace": "projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID" }' \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults"- 엔드포인트:
프로젝트가 성공적으로 컴파일되었는지 확인하려면
projects.locations.repositories.compilationResults.get메서드를 사용합니다. 다음 정보를 사용하여 API 요청을 실행합니다.- 엔드포인트:
GET https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID
또는 터미널에서 다음
curl명령어를 실행합니다.curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID"COMPILATION_ID을 컴파일 결과의 고유 식별자로 바꿉니다. 이 ID는 이전 단계의 컴파일 요청 응답에 제공됩니다.- 엔드포인트:
응답에서
compilationErrors필드를 확인합니다. 목록이 비어 있으면 프로젝트가 성공적으로 컴파일된 것입니다.
프로젝트를 컴파일하고 실행 그래프를 확인했습니다. 그런 다음 BigQuery에서 워크플로를 실행할 수 있습니다.
워크플로 실행
BigQuery에서 워크플로 실행을 트리거하려면 다음 옵션 중 하나를 선택하세요.
콘솔
BigQuery Dataform 페이지로 이동합니다.
quickstart-repo을(를) 클릭합니다.저장소에서 개발 작업공간 탭으로 이동한 다음
dev-workspace를 클릭합니다.툴바에서 실행 시작 > 작업 실행을 클릭합니다.
모든 작업을 선택합니다.
실행 시작을 클릭합니다.
워크플로를 실행했습니다.
API
워크플로 호출을 트리거하려면 projects.locations.repositories.workflowInvocations.create 메서드를 사용합니다.
다음 정보를 사용하여 API 요청을 실행합니다.
- 엔드포인트:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workflowInvocations
또는 터미널에서 다음 curl 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"compilationResult": "projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID"
}' \
"https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workflowInvocations"
워크플로를 실행했습니다.
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
BigQuery 데이터세트 삭제
BigQuery 애셋에 대한 요금이 청구되지 않도록 이 워크플로에서 만든 데이터 세트(예: reporting 및 staging이라는 데이터 세트)를 삭제합니다.
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
탐색기 패널에서 프로젝트를 확장하고 데이터 세트를 선택합니다.
작업 메뉴를 클릭한 후 삭제를 클릭합니다.
데이터 세트 삭제 대화상자의 필드에
delete를 입력한 후 삭제를 클릭합니다.
Secret Manager 보안 비밀 삭제
보안 리소스를 정리하려면 Git 연결에 사용된 보안 비밀을 삭제합니다.
Google Cloud 콘솔에서 Secret Manager 페이지로 이동합니다.
dataform-git-token보안 비밀을 선택합니다.삭제를 클릭합니다.
확인 대화상자에서 보안 비밀 이름을 입력하여 확인한 다음 삭제를 클릭합니다.
Dataform 개발 작업공간 삭제
Dataform 개발 작업공간을 만드는 데 비용은 발생하지 않지만 개발 작업공간을 삭제하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
quickstart-repo을(를) 클릭합니다.개발 작업공간 탭에서
dev-workspace옆에 있는 더보기 메뉴를 클릭한 후 삭제를 선택합니다.삭제를 클릭하여 확인합니다.
Dataform 저장소 삭제
Dataform 저장소를 만드는 데 비용은 발생하지 않지만 저장소를 삭제하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
quickstart-repo까지 더보기 메뉴를 클릭한 다음 삭제를 선택합니다.저장소 삭제 창에서 저장소 이름을 입력하여 삭제를 확인합니다.
삭제를 클릭하여 확인합니다.
다음 단계
- Dataform에서 데이터 소스를 선언하는 방법을 알아보려면 데이터 소스 선언을 참고하세요.
- Dataform에서 뷰와 테이블을 만드는 방법은 테이블 만들기를 참고하세요.
- Dataform의 버전 제어에 대해 자세히 알아보려면 코드 버전 제어를 참고하세요.
- 워크플로 실행을 예약하는 방법을 알아보려면 워크플로 구성으로 실행 예약을 참고하세요.