Menggunakan bucket lingkungan kustom

Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)

Anda dapat menentukan bucket Cloud Storage kustom sebagai bucket lingkungan saat membuat lingkungan. Lingkungan Anda menggunakan bucket ini dengan cara yang sama seperti bucket lingkungan default, dan bucket lingkungan default tidak dibuat.

Dengan bucket kustom, Anda dapat:

  • Menggunakan konfigurasi bucket yang sesuai dengan persyaratan Anda.
  • Menggunakan bucket yang terus ada untuk tujuan pengembangan atau pengujian berkala.
  • Menggunakan kembali bucket yang ada dari lingkungan sebelumnya dan mempertahankan integrasi CI/CD dan data.
  • Menghapus dan membuat ulang lingkungan tanpa perlu mentransfer data antar-bucket.
  • Mengisi bucket kustom dengan data yang diperlukan, seperti file DAG, lalu membuat lingkungan.

Sebelum memulai

  • Bucket kustom harus berada di region yang sama dengan lingkungan. Bucket multi-region dan dual-region tidak didukung.
  • Bucket kustom dan lingkungan harus berada dalam project yang sama.
  • Bucket kustom harus memiliki class penyimpanan Standar.
  • Bucket kustom tidak boleh memiliki kebijakan retensi atau kunci kebijakan retensi yang diterapkan.
  • Bucket kustom tidak boleh mengaktifkan namespace hierarkis.
  • Anda tidak dapat menggunakan bucket kustom yang sama dengan beberapa lingkungan secara bersamaan. Managed Airflow akan menghasilkan error jika bucket yang ditentukan sudah digunakan oleh lingkungan lain. Anda dapat menghapus lingkungan, lalu menggunakan bucket yang sama untuk lingkungan lain.

  • Managed Airflow tidak menambahkan izin IAM yang tidak ada ke bucket Cloud Storage saat digunakan untuk membuat lingkungan. Pastikan akun layanan lingkungan memiliki izin dari peran Pekerja Composer di bucket.

Membuat lingkungan dengan bucket kustom

Konsol

Untuk menentukan bucket Cloud Storage kustom saat membuat lingkungan:

  1. Di halaman Create environment, di bagian Advanced configuration, klik Show advanced configuration.
  2. Pilih Custom bucket.
  3. Di kolom Bucket name, tentukan atau pilih bucket.

gcloud

Saat Anda membuat lingkungan, argumen --storage-bucket menentukan bucket kustom lingkungan.

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

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan Anda.
  • LOCATION: region tempat lingkungan berada.
  • CUSTOM_STORAGE_BUCKET: nama bucket Cloud Storage. Anda juga dapat menentukan URI bucket (dengan awalan gs://).

Contoh:

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

API

Saat Anda membuat lingkungan, di resource Environment > StorageConfig, tentukan bucket kustom untuk lingkungan Anda.

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

Ganti kode berikut:

  • PROJECT_ID: Project ID.
  • LOCATION: region tempat lingkungan berada.
  • ENVIRONMENT_NAME: nama lingkungan Anda.
  • CUSTOM_STORAGE_BUCKET: nama bucket Cloud Storage (tanpa awalan gs://).

Contoh:

// 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

Saat Anda membuat lingkungan, kolom bucket di blok storage_config menentukan bucket kustom lingkungan.

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

  storage_config {

    bucket = CUSTOM_STORAGE_BUCKET

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan Anda.
  • LOCATION: region tempat lingkungan berada.
  • CUSTOM_STORAGE_BUCKET: nama bucket Cloud Storage. Anda juga dapat menentukan URI bucket (dengan awalan gs://).

Contoh:

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

  storage_config {

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

  }
}

Langkah berikutnya