使用自訂環境的值區

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

建立環境時,您可以指定自訂 Cloud Storage bucket 做為環境的 bucket。您的環境會以與預設環境值區相同的方式使用這個值區,且不會建立預設環境值區。

自訂值區可讓您:

  • 使用符合您需求的 bucket 設定。
  • 如要定期開發或測試,請使用持續存在的 bucket。
  • 重複使用先前環境的現有 bucket,並保留 CI/CD 和資料整合。
  • 刪除並重新建立環境,不必在 bucket 之間轉移資料。
  • 預先在自訂 bucket 中填入必要資料 (例如 DAG 檔案),然後建立環境。

事前準備

  • 自訂 bucket 必須與環境位於相同區域。不支援多區域和雙區域 bucket。
  • 自訂 bucket 和環境必須位於同一專案。
  • 自訂值區必須是Standard Storage 級別
  • 自訂值區不得套用保留政策或保留政策鎖定
  • 您無法同時在多個環境中使用同一個自訂值區。如果指定的 bucket 已由其他環境使用,Cloud Composer 會產生錯誤。您可以刪除環境,然後將同一個值區用於其他環境。

  • 使用 Cloud Composer 建立環境時,系統不會為 Cloud Storage bucket 新增任何缺少的 IAM 權限。請確認環境的服務帳戶具備值區的 Composer Worker 角色權限

使用自訂值區建立環境

主控台

如要在建立環境時指定自訂 Cloud Storage bucket:

  1. 在「建立環境」頁面的「進階設定」部分,按一下「顯示進階設定」
  2. 選取「自訂值區」
  3. 在「Bucket name」(值區名稱) 欄位中,指定或選取值區。

gcloud

建立環境時,--storage-bucket 引數會指定環境的自訂 bucket。

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --storage-bucket CUSTOM_STORAGE_BUCKET

更改下列內容:

  • ENVIRONMENT_NAME:環境名稱。
  • LOCATION:環境所在的區域。
  • CUSTOM_STORAGE_BUCKET:Cloud Storage bucket 的名稱。您也可以指定 bucket URI (加上 gs:// 前置字串)。

範例:

gcloud composer environments create example-environment \
    --location us-cental1 \
    --storage-bucket us-central1-example-bucket

API

建立環境時,請在「Environment」>「StorageConfig」StorageConfig資源中,為環境指定自訂 bucket。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "storageConfig": {
    "bucket": "CUSTOM_STORAGE_BUCKET"
  }
}

更改下列內容:

  • PROJECT_ID專案 ID
  • LOCATION:環境所在的區域。
  • ENVIRONMENT_NAME:環境名稱。
  • CUSTOM_STORAGE_BUCKET:Cloud Storage bucket 的名稱 (不含 gs:// 前置字串)。

範例:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "storageConfig": {
    "bucket": "us-central1-example-bucket"
  }
}

Terraform

建立環境時,storage_config 區塊中的 bucket 欄位會指定環境的自訂值區。

resource "google_composer_environment" "example" {
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  storage_config {

    bucket = CUSTOM_STORAGE_BUCKET

  }
}

更改下列內容:

  • ENVIRONMENT_NAME:環境名稱。
  • LOCATION:環境所在的區域。
  • CUSTOM_STORAGE_BUCKET:Cloud Storage bucket 的名稱。您也可以指定 bucket URI (加上 gs:// 前置字串)。

範例:

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  storage_config {

    bucket = "gs://us-central1-example-bucket"

  }
}

後續步驟