Usa un bucket de entorno personalizado

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

En Cloud Composer 2, puedes especificar un bucket de Cloud Storage personalizado como un bucket de tu entorno cuando lo crees. Tu entorno usa de la misma forma que el bucket del entorno predeterminado, y el bucket del entorno predeterminado no se crea.

Con un bucket personalizado, puedes hacer lo siguiente:

  • Usa una configuración de bucket que cumpla con tus requisitos.
  • Usa un bucket existente de forma continua para el desarrollo o las pruebas periódicas comerciales.
  • Reutilizar un bucket existente de un entorno anterior y mantener la CI/CD y los datos integraciones.
  • Borrar y volver a crear un entorno sin necesidad de transferir datos entre buckets.
  • Completa previamente el bucket personalizado con los datos requeridos, como tus archivos DAG, y, luego, crear un entorno.

Antes de comenzar

  • Esta función es compatible a partir de Cloud Composer versión 2.5.0. Las versiones anteriores de Cloud Composer 2 no son compatibles con esto .
  • El bucket personalizado debe estar ubicado en la misma región que el entorno. No se admiten los buckets birregionales ni multirregionales.
  • El bucket personalizado y el entorno deben estar en el mismo proyecto.
  • El bucket personalizado debe tener la Clase Standard Storage.
  • El bucket personalizado no debe tener políticas de retención o bloqueos de políticas de retención que se le aplicaron.
  • No es posible usar el mismo bucket personalizado con varios entornos en al mismo tiempo. Cloud Composer genera un error si ya está en uso en otro entorno. Es posible borrar un entorno y, luego, usar el mismo bucket para otro entorno.
  • Si borras un entorno y, luego, usas el mismo bucket para otro entorno, este no muestra registros de tareas de Airflow desde el entorno anterior en la IU de Airflow. Los registros permanecen en el bucket, pero el entorno nuevo no los asocia con ninguna ejecución de DAG.

Crea un entorno con un bucket personalizado

Console

Sigue estos pasos para especificar un bucket personalizado de Cloud Storage cuando creas un entorno:

  1. En la página Crear entorno, en la Configuración avanzada haz clic en Mostrar configuración avanzada.
  2. Selecciona Bucket personalizado.
  3. En el campo Nombre del bucket, especifica o selecciona un bucket.

gcloud

Cuando creas un entorno, el argumento --storage-bucket especifica la bucket personalizado de tu entorno.

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

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre de tu entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • CUSTOM_STORAGE_BUCKET: Es el nombre de un bucket de Cloud Storage. Tú también puede especificar el URI del bucket (con el prefijo gs://).

Ejemplo:

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

API

Cuando creas un entorno, en Entorno > recurso StorageConfig, especifica un bucket personalizado para tu entorno.

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

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto
  • LOCATION: Es la región en la que se encuentra el entorno.
  • ENVIRONMENT_NAME: Es el nombre de tu entorno.
  • CUSTOM_STORAGE_BUCKET: Es el nombre de un bucket de Cloud Storage. (sin el prefijo gs://).

Ejemplo:

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

Cuando creas un entorno, el campo bucket del El bloque storage_config especifica el bucket personalizado del entorno.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  storage_config {

    bucket = CUSTOM_STORAGE_BUCKET

  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre de tu entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • CUSTOM_STORAGE_BUCKET: Es el nombre de un bucket de Cloud Storage. Tú también puede especificar el URI del bucket (con el prefijo gs://).

Ejemplo:

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

  storage_config {

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

  }
}

¿Qué sigue?