Git 저장소 연결 및 워크플로 실행

이 빠른 시작에서는 Dataform 저장소를 만들고, 기존 서드 파티 Git 저장소에 연결하고, 워크플로를 실행하는 과정을 안내합니다.Google Cloud 콘솔과 Dataform API를 사용하여 다음 작업을 실행합니다.

  • Dataform 저장소 만들기
  • 저장소를 dataform-co/dataform-example-project-bigquery GitHub 저장소에 연결합니다.
  • 개발 작업공간을 만들고 초기화합니다.
  • 프로젝트에 새 뷰를 추가합니다.
  • 프로젝트를 컴파일하고 BigQuery에서 워크플로를 실행합니다.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

필요한 역할

이 빠른 시작의 모든 태스크를 수행하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

Dataform 저장소 만들기

저장소는 Dataform 프로젝트의 기본 컨테이너입니다. 다음 옵션 중 하나를 선택합니다.

콘솔

  1. BigQuery Dataform 페이지로 이동합니다.

    Dataform으로 이동

  2. 저장소 만들기를 클릭합니다.

  3. 저장소 만들기 페이지에서 다음을 수행합니다.

    1. 저장소 ID 필드에 quickstart-repo을 입력합니다.
    2. 리전 목록에서 리전을 선택합니다(예: europe-west4).
    3. 서비스 계정 목록에서 저장소의 맞춤 서비스 계정을 선택합니다.
    4. 만들기를 클릭합니다.
    5. 저장소로 이동을 클릭합니다.

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 저장소를 프로젝트에 연결하려면 다음 옵션 중 하나를 선택합니다.

콘솔

  1. Secret Manager 페이지로 이동합니다.

    Secret Manager로 이동

  2. 보안 비밀 만들기를 클릭합니다.

  3. 이름 필드에 dataform-git-token를 입력합니다.

  4. 보안 비밀 값 필드에 GitHub 개인 액세스 토큰(PAT)을 입력합니다.

    PAT를 만드는 방법은 개인 액세스 토큰 관리를 참고하세요.

    조직의 보안 정책에 따라 토큰의 만료일을 설정하는 것이 좋습니다.

  5. 보안 비밀 만들기를 클릭합니다.

  6. 보안 비밀 세부정보 페이지에서 권한 탭을 클릭한 다음 액세스 권한 부여를 클릭합니다.

  7. 새 주 구성원 필드에 Dataform 서비스 에이전트인 service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com을 입력합니다.

    여기에서 PROJECT_NUMBER를Google Cloud 프로젝트 번호로 바꿉니다. 프로젝트 번호를 찾는 방법에 대한 자세한 내용은 프로젝트 이름, 번호, ID 찾기를 참고하세요.

  8. 역할 선택 필드에서 Secret Manager > Secret Manager 보안 비밀 접근자를 선택합니다.

  9. 저장을 클릭합니다.

  10. Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.

    Dataform으로 이동

  11. quickstart-repo을(를) 클릭합니다.

  12. 저장소 페이지에서 설정 > Git과 연결을 클릭합니다.

  13. 원격 저장소에 연결 창에서 HTTPS를 선택합니다.

  14. 원격 Git 저장소 URL 필드에 https://github.com/dataform-co/dataform-example-project-bigquery.git를 입력합니다.

  15. 기본 원격 브랜치 이름 필드에 master를 입력합니다.

  16. 보안 비밀 메뉴에서 dataform-git-token을 선택합니다.

  17. 링크를 클릭합니다.

Dataform 저장소를 원격 Git 저장소에 연결하고 필요한 권한을 부여했습니다. 그런 다음 개발 작업공간을 만들고 초기화할 수 있습니다.

API

  1. 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"
    
  2. 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로 인코딩된 문자열로 자동 변환합니다.

  3. 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 찾기를 참고하세요.

  4. 저장소를 원격 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 저장소에 연결하고 필요한 권한을 부여했습니다. 그런 다음 개발 작업공간을 만들고 초기화할 수 있습니다.

개발 작업공간 만들기 및 초기화

작업공간은 격리된 개발 환경입니다. 작업공간을 만들고 초기화하려면 다음 옵션 중 하나를 선택합니다.

콘솔

  1. BigQuery Dataform 페이지로 이동합니다.

    Dataform으로 이동

  2. quickstart-repo을(를) 클릭합니다.

  3. 저장소에서 개발 작업공간 탭으로 이동합니다.

  4. 개발 작업공간 만들기를 클릭합니다.

  5. 작업공간 ID 필드에 dev-workspace를 입력합니다.

  6. 만들기를 클릭합니다.

  7. 개발 작업공간 탭에서 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 프로젝트에서 워크플로를 실행하도록 합니다. 워크플로 설정을 구성하려면 다음 옵션 중 하나를 선택합니다.

콘솔

  1. BigQuery Dataform 페이지로 이동합니다.

    Dataform으로 이동

  2. quickstart-repo을(를) 클릭합니다.

  3. 저장소에서 개발 작업공간 탭으로 이동한 다음 dev-workspace를 클릭합니다.

  4. 파일 창에서 workflow_settings.yaml을 선택합니다.

  5. 파일에서 defaultProject 값을 프로젝트 ID로 바꿉니다.

    파일이 자동으로 저장됩니다.

워크플로 설정이 업데이트되었습니다. 그런 다음 프로젝트에 새 소스 선언을 추가할 수 있습니다.

API

  1. workflow_settings.yaml이라는 로컬 파일을 만들고 다음 구성을 파일에 붙여넣습니다.

    defaultProject: PROJECT_ID
    defaultDataset: dataform
    dataformCoreVersion: CORE_VERSION
    

    CORE_VERSION을 Dataform 코어의 최신 안정화(베타 아님) 버전으로 바꿉니다(예: 3.0.43). 최신 버전은 출시에서 확인할 수 있습니다.

  2. 터미널에서 파일 콘텐츠를 Base64 문자열로 인코딩합니다.

    base64 -w 0 workflow_settings.yaml
    
  3. 이 단계의 후반에서 대체 curl 명령어를 사용하기로 결정한 경우 결과 출력 문자열을 복사하여 SETTINGS_DEFINITION 자리표시자에 사용합니다.

  4. 워크플로 설정을 업데이트하려면 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 소스 선언을 프로젝트에 추가합니다. 새 소스를 만들려면 다음 옵션 중 하나를 선택합니다.

콘솔

  1. BigQuery Dataform 페이지로 이동합니다.

    Dataform으로 이동

  2. quickstart-repo을(를) 클릭합니다.

  3. 저장소에서 개발 작업공간 탭으로 이동한 다음 dev-workspace를 클릭합니다.

  4. 파일 창에서 definitions 폴더를 선택합니다.

  5. 파일 작업 더보기 > 파일 만들기를 클릭합니다.

  6. 파일 경로 추가 필드에 definitions/sources/tags.sqlx를 입력합니다.

  7. 파일 만들기를 클릭합니다.

  8. definitions/sources/tags.sqlx 파일의 SQL 편집기에 다음 코드를 붙여넣습니다.

    config {
      type: "declaration",
      database: "bigquery-public-data",
      schema: "stackoverflow",
      name: "tags"
    }
    

소스 선언을 만들었습니다. 다음으로 프로젝트에 새 뷰를 추가할 수 있습니다.

API

  1. tags.sqlx라는 로컬 파일을 만듭니다.
  2. 다음 코드를 tags.sqlx 파일에 붙여넣습니다.

    config {
      type: "declaration",
      database: "bigquery-public-data",
      schema: "stackoverflow",
      name: "tags"
    }
    
  3. 터미널에서 파일 콘텐츠를 하나의 연속된 문자열로 인코딩합니다.

    base64 -w 0 tags.sqlx
    
  4. 이 단계의 후반에서 대체 curl 명령어를 사용하기로 결정한 경우 결과 출력 문자열을 복사하여 SOURCE_DEFINITION 자리표시자에 사용합니다.

  5. 작업공간에서 소스 선언 파일을 만들려면 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 파일을 프로젝트에 추가합니다. 새 뷰를 만들려면 다음 옵션 중 하나를 선택합니다.

콘솔

  1. BigQuery Dataform 페이지로 이동합니다.

    Dataform으로 이동

  2. quickstart-repo을(를) 클릭합니다.

  3. 저장소에서 개발 작업공간 탭으로 이동한 다음 dev-workspace를 클릭합니다.

  4. 파일 창에서 definitions 폴더를 선택합니다.

  5. 파일 작업 더보기 > 파일 만들기를 클릭합니다.

  6. 파일 경로 추가 필드에 definitions/top_question_tags.sqlx를 입력합니다.

  7. 파일 만들기를 클릭합니다.

  8. 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

  1. top_question_tags.sqlx라는 로컬 파일을 만듭니다.
  2. 다음 코드를 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
    
  3. 터미널에서 파일 콘텐츠를 하나의 연속된 문자열로 인코딩합니다.

    base64 -w 0 top_question_tags.sqlx
    
  4. 이 단계의 후반에서 대체 curl 명령어를 사용하기로 결정한 경우 결과 출력 문자열을 복사하여 VIEW_DEFINITION 자리표시자에 사용합니다.

  5. 작업공간에서 뷰 정의 파일을 만들려면 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

  1. 작업공간을 기반으로 컴파일 결과를 만들려면 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"
    
  2. 프로젝트가 성공적으로 컴파일되었는지 확인하려면 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는 이전 단계의 컴파일 요청 응답에 제공됩니다.

  3. 응답에서 compilationErrors 필드를 확인합니다. 목록이 비어 있으면 프로젝트가 성공적으로 컴파일된 것입니다.

프로젝트를 컴파일하고 실행 그래프를 확인했습니다. 그런 다음 BigQuery에서 워크플로를 실행할 수 있습니다.

워크플로 실행

BigQuery에서 워크플로 실행을 트리거하려면 다음 옵션 중 하나를 선택하세요.

콘솔

  1. BigQuery Dataform 페이지로 이동합니다.

    Dataform으로 이동

  2. quickstart-repo을(를) 클릭합니다.

  3. 저장소에서 개발 작업공간 탭으로 이동한 다음 dev-workspace를 클릭합니다.

  4. 툴바에서 실행 시작 > 작업 실행을 클릭합니다.

  5. 모든 작업을 선택합니다.

  6. 실행 시작을 클릭합니다.

워크플로를 실행했습니다.

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 애셋에 대한 요금이 청구되지 않도록 이 워크플로에서 만든 데이터 세트(예: reportingstaging이라는 데이터 세트)를 삭제합니다.

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 탐색기 패널에서 프로젝트를 확장하고 데이터 세트를 선택합니다.

  3. 작업 메뉴를 클릭한 후 삭제를 클릭합니다.

  4. 데이터 세트 삭제 대화상자의 필드에 delete를 입력한 후 삭제를 클릭합니다.

Secret Manager 보안 비밀 삭제

보안 리소스를 정리하려면 Git 연결에 사용된 보안 비밀을 삭제합니다.

  1. Google Cloud 콘솔에서 Secret Manager 페이지로 이동합니다.

    Secret Manager로 이동

  2. dataform-git-token 보안 비밀을 선택합니다.

  3. 삭제를 클릭합니다.

  4. 확인 대화상자에서 보안 비밀 이름을 입력하여 확인한 다음 삭제를 클릭합니다.

Dataform 개발 작업공간 삭제

Dataform 개발 작업공간을 만드는 데 비용은 발생하지 않지만 개발 작업공간을 삭제하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.

    Dataform으로 이동

  2. quickstart-repo을(를) 클릭합니다.

  3. 개발 작업공간 탭에서 dev-workspace 옆에 있는 더보기 메뉴를 클릭한 후 삭제를 선택합니다.

  4. 삭제를 클릭하여 확인합니다.

Dataform 저장소 삭제

Dataform 저장소를 만드는 데 비용은 발생하지 않지만 저장소를 삭제하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.

    Dataform으로 이동

  2. quickstart-repo까지 더보기 메뉴를 클릭한 다음 삭제를 선택합니다.

  3. 저장소 삭제 창에서 저장소 이름을 입력하여 삭제를 확인합니다.

  4. 삭제를 클릭하여 확인합니다.

다음 단계