Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Anda dapat menentukan bucket Cloud Storage kustom sebagai bucket lingkungan saat Anda 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:
- Gunakan konfigurasi bucket yang sesuai dengan persyaratan Anda.
- Gunakan bucket yang ada secara terus-menerus untuk tujuan pengembangan atau pengujian berkala.
- Gunakan kembali bucket yang ada dari lingkungan sebelumnya dan pertahankan integrasi data dan CI/CD.
- Hapus dan buat ulang lingkungan tanpa perlu mentransfer data antar-bucket.
- Isi otomatis bucket kustom dengan data yang diperlukan, seperti file DAG Anda, lalu buat lingkungan.
Sebelum memulai
- Fitur ini didukung mulai dari Managed Airflow versi 2.5.0. Versi Managed Airflow (Gen 2) yang lebih lama tidak mendukung fitur ini.
- 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 kelas penyimpanan Standar.
- Bucket kustom tidak boleh memiliki kebijakan retensi atau kunci kebijakan retensi yang diterapkan padanya.
- 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.
Jika Anda mengaktifkan penyimpanan log ke bucket lingkungan, maka jika Anda menghapus lingkungan, lalu menggunakan bucket yang sama untuk lingkungan lain, lingkungan baru tidak akan menampilkan log tugas Airflow dari lingkungan sebelumnya di UI Airflow. Log tetap berada di bucket, tetapi lingkungan baru tidak mengaitkannya dengan DAG run apa pun.
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 Composer Worker di bucket.
Membuat lingkungan dengan bucket kustom
Konsol
Untuk menentukan bucket Cloud Storage kustom saat Anda membuat lingkungan:
- Di halaman Create environment, di bagian Advanced configuration, klik Show advanced configuration.
- Pilih Bucket kustom.
- 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 awalangs://).
Contoh:
gcloud composer environments create example-environment \
--location us-cental1 \
--storage-bucket us-central1-example-bucket
API
Saat 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 awalangs://).
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" {
provider = google-beta
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 awalangs://).
Contoh:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
storage_config {
bucket = "gs://us-central1-example-bucket"
}
}