Usa el bucket de un entorno personalizado

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Puedes especificar un bucket de Cloud Storage personalizado como el bucket de un entorno cuando lo creas. 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 fines de desarrollo o pruebas periódicos.
  • Reutiliza un bucket existente de un entorno anterior y conserva las integraciones de datos y CI/CD.
  • Borrar y volver a crear un entorno sin necesidad de transferir datos entre buckets
  • Prepobla el bucket personalizado con los datos necesarios, como tus archivos de DAG, y, luego, crea un entorno.

Antes de comenzar

  • 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 Standard.
  • 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.

  • Cloud Composer no agrega ningún permiso de IAM faltante al bucket de Cloud Storage cuando se usa para crear un entorno. Asegúrate de que la cuenta de servicio del entorno tenga permisos del rol de trabajador de Composer en el bucket.

Crea un entorno con un bucket personalizado

Console

Para especificar un bucket personalizado de Cloud Storage cuando creas un ambiente, 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 creas 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 en el bloque storage_config especifica el bucket personalizado del entorno.

resource "google_composer_environment" "example" {
  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" {
  name = "example-environment"
  region = "us-central1"

  storage_config {

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

  }
}

¿Qué sigue?