Usa un bucket de entorno personalizado

Cloud Composer 1 | Cloud Composer 2

En Cloud Composer 2, puedes especificar un bucket personalizado de Cloud Storage como el bucket del entorno cuando lo creas. Tu entorno usa este bucket de la misma manera 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 que exista continuamente para fines periódicos de desarrollo o de prueba.
  • Volver a usar un bucket existente de un entorno anterior y conservar las integraciones de CI/CD y datos
  • Borrar y volver a crear un entorno sin necesidad de transferir datos entre buckets.
  • Propaga previamente el bucket personalizado con los datos necesarios, como tus archivos DAG, y, luego, crea un entorno.

Antes de comenzar

  • Esta función es compatible a partir de la versión 2.5.0 de Cloud Composer. Las versiones anteriores de Cloud Composer 2 no admiten esta función.
  • 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 ni bloqueos de políticas de retención aplicados.
  • No es posible usar el mismo bucket personalizado con varios entornos al mismo tiempo. Cloud Composer genera un error si otro entorno ya usa el bucket especificado. Es posible borrar un entorno y, luego, usar el mismo bucket para otro.
  • Si borras un entorno y, luego, usas el mismo bucket para otro, el entorno nuevo no mostrará los registros de tareas de Airflow del 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

Para especificar un bucket personalizado de Cloud Storage cuando creas un entorno, haz lo siguiente:

  1. En la página Crear entorno, en la sección 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 el bucket personalizado del 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. También puedes 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 crees un entorno, en el recurso Entorno > 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 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. También puedes 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?