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:
- 在「建立環境」頁面的「進階設定」部分,按一下「顯示進階設定」。
- 選取「自訂值區」。
- 在「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"
}
}