Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
In Cloud Composer 2, puoi specificare un bucket Cloud Storage personalizzato come del bucket quando crei un ambiente. Il tuo ambiente utilizza questo come bucket dell'ambiente predefinito, e il bucket dell'ambiente predefinito non viene creato.
Con un bucket personalizzato puoi:
- Utilizza una configurazione del bucket conforme ai tuoi requisiti.
- Utilizza un bucket esistente in modo continuativo per test o sviluppo periodici scopi.
- Riutilizza un bucket esistente di un ambiente precedente e mantieni CI/CD e dati integrazioni.
- Elimina e ricrea un ambiente senza dover trasferire i dati tra bucket.
- Precompila il bucket personalizzato con i dati richiesti, come i file DAG, per poi creare un ambiente.
Prima di iniziare
- Questa funzionalità è supportata a partire da Cloud Composer Versione 2.5.0. Le versioni precedenti di Cloud Composer 2 non supportano questa funzionalità. funzionalità.
- Il bucket personalizzato deve trovarsi nella stessa regione dell'ambiente. I bucket per più o più regioni non sono supportati.
- Il bucket personalizzato e l'ambiente devono trovarsi nello stesso progetto.
- Il bucket personalizzato deve avere la classe di archiviazione standard.
- Il bucket personalizzato non deve avere criteri di conservazione o blocchi dei criteri di conservazione applicato.
- Non è possibile utilizzare lo stesso bucket personalizzato con più ambienti contemporaneamente. Cloud Composer genera un errore se del bucket specificato è già utilizzato da un altro ambiente. È possibile per eliminare un ambiente e usare lo stesso bucket per un altro ambiente.
- Se elimini un ambiente e poi utilizzi lo stesso bucket per un altro dell'ambiente, il nuovo ambiente non visualizza i log delle attività Airflow da dell'ambiente precedente nella UI di Airflow. I log rimangono nel bucket, il nuovo ambiente non li associa ad alcuna esecuzione di DAG.
Creare un ambiente con un bucket personalizzato
Console
Per specificare un bucket Cloud Storage personalizzato quando crei un ambiente:
- Nella pagina Crea ambiente, fai clic su Mostra configurazione avanzata nella sezione Configurazione avanzata.
- Seleziona Bucket personalizzato.
- Nel campo Nome bucket, specifica o seleziona un bucket.
gcloud
Quando crei un ambiente, l'argomento --storage-bucket
specifica
personalizzato dell'ambiente.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--storage-bucket CUSTOM_STORAGE_BUCKET
Sostituisci quanto segue:
ENVIRONMENT_NAME
: il nome del tuo ambiente.LOCATION
: la regione in cui si trova l'ambiente.CUSTOM_STORAGE_BUCKET
: il nome di un bucket Cloud Storage. Puoi anche specificare l'URI del bucket (con il prefissogs://
).
Esempio:
gcloud composer environments create example-environment \
--location us-cental1 \
--storage-bucket us-central1-example-bucket
API
Quando crei un ambiente, nella sezione Ambiente > Risorsa StorageConfig, specificare un bucket personalizzato per il tuo ambiente.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"storageConfig": {
"bucket": "CUSTOM_STORAGE_BUCKET"
}
}
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto.LOCATION
: la regione in cui si trova l'ambiente.ENVIRONMENT_NAME
: il nome del tuo ambiente.CUSTOM_STORAGE_BUCKET
: il nome di un bucket Cloud Storage (senza il prefissogs://
).
Esempio:
// 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
Quando crei un ambiente, il campo bucket
nel
blocco storage_config
specifica il bucket personalizzato dell'ambiente.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
storage_config {
bucket = CUSTOM_STORAGE_BUCKET
}
}
Sostituisci quanto segue:
ENVIRONMENT_NAME
: il nome del tuo ambiente.LOCATION
: la regione in cui si trova l'ambiente.CUSTOM_STORAGE_BUCKET
: il nome di un bucket Cloud Storage. Puoi anche specificare l'URI del bucket (con il prefissogs://
).
Esempio:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
storage_config {
bucket = "gs://us-central1-example-bucket"
}
}