Usa el bucket de un 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 este bucket de la misma manera que el bucket del entorno predeterminado, y no se crea el bucket del entorno predeterminado.

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.
  • Volver a usar un bucket existente de un entorno anterior y mantener la CI/CD y los datos de Google Cloud.
  • Borrar y volver a crear un entorno sin necesidad de transferir datos entre buckets
  • Prepropaga el bucket personalizado con los datos necesarios, como tus archivos de 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 buckets multirregionales ni de región doble.
  • El bucket personalizado y el entorno deben estar en el mismo proyecto.
  • El bucket personalizado debe tener la clase de almacenamiento estándar.
  • 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 en 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 muestra 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

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 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 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 en 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. 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?