Ejecuta un DAG de Apache Airflow en Managed Airflow (3ª gen.)
En esta guía de inicio rápido, se muestra cómo crear un entorno de Managed Service para Apache Airflow y ejecutar un DAG de Apache Airflow en Managed Airflow (3ª gen.).
Si eres nuevo en Airflow, consulta el instructivo de conceptos de Airflow en la documentación de Apache Airflow para obtener más información sobre los conceptos, los objetos y su uso.
Si quieres usar Google Cloud CLI en su lugar, consulta Ejecuta un DAG de Apache Airflow en Managed Service para Apache Airflow (Google Cloud CLI).
Si quieres crear un entorno con Terraform, consulta Crea entornos (Terraform).
Antes de comenzar
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
-
Habilita la API de Managed Airflow si aún no está habilitada.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtenerlo a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén información para otorgar roles. -
Si quieres obtener los permisos que necesitas para completar esta guía de inicio rápido, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
-
Para asignar roles y permisos de IAM:
Administrador de IAM del proyecto (
roles/resourcemanager.projectIamAdmin) -
Para crear una cuenta de servicio para el entorno de Managed Airflow:
Crea cuentas de servicio (
roles/iam.serviceAccountCreator) -
Para ver, crear y administrar el entorno de Managed Airflow, haz lo siguiente:
- Administrador de objetos de almacenamiento y entorno (
roles/composer.environmentAndStorageObjectAdmin) - Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser)
- Administrador de objetos de almacenamiento y entorno (
-
Para ver los registros, usa el Visualizador de registros (
roles/logging.viewer).
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
-
Para asignar roles y permisos de IAM:
Administrador de IAM del proyecto (
Crea una cuenta de servicio para el entorno
Cuando creas un entorno, especificas una cuenta de servicio. Esta cuenta de servicio se denomina cuenta de servicio del entorno. Tu entorno usa esta cuenta de servicio para realizar la mayoría de las operaciones.
La cuenta de servicio de tu entorno no es una cuenta de usuario. Una cuenta de servicio es un tipo especial de cuenta que usa una aplicación o una instancia de máquina virtual (VM), no una persona.
Para crear una cuenta de servicio para tu entorno, sigue estos pasos:
Crea una cuenta de servicio nueva, como se describe en la documentación de Identity and Access Management.
Otórgale un rol, como se describe en la documentación de Identity and Access Management. El rol requerido es Trabajador de Composer (
composer.worker).
Crear un entorno
En la consola de Cloud de Confiance , ve a la página Crear entorno.
En el campo Nombre, ingresa
example-environment.En la lista desplegable Ubicación, selecciona una región para el entorno de Managed Airflow. En esta guía, se usa la región
us-central1.Para otras opciones de configuración del entorno, usa los valores predeterminados proporcionados.
Haz clic en Crear y espera a que se cree el entorno.
Cuando termine, se mostrará una marca de verificación verde junto al nombre del entorno.
Crea un archivo de DAG
Un DAG de Airflow es una colección de tareas organizadas que deseas programar y ejecutar. Los DAG se definen en archivos estándares de Python.
En esta guía, se usa un DAG de Airflow de ejemplo definido en el archivo quickstart.py.
El código de Python de este archivo hace lo siguiente:
- Crea un DAG
composer_sample_dag. Este DAG se ejecuta todos los días. - Ejecuta una tarea
print_dag_run_conf. La tarea imprime la configuración de ejecución del DAG con el operador bash.
Guarda una copia del archivo quickstart.py en tu máquina local:
Sube el archivo DAG al bucket de tu entorno
Cada entorno de Managed Airflow tiene un bucket de Cloud Storage
asociado. Airflow en Managed Airflow solo programa
los DAG que se encuentran en la carpeta /dags de este bucket.
Para programar tu DAG, sube quickstart.py desde tu máquina local a la carpeta
/dags de tu entorno:
En la consola de Cloud de Confiance , ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno,
example-environment. Se abrirá la página Detalles del entorno.Haz clic en Abrir carpeta de DAG. Se abrirá la página Detalles del bucket.
Haz clic en Subir archivos y, luego, selecciona tu copia de
quickstart.py.Para subir el archivo, haz clic en Abrir.
Visualiza el DAG
Después de subir el archivo DAG, Airflow hace lo siguiente:
- Analiza el archivo DAG que subiste. Es posible que el DAG tarde unos minutos en estar disponible para Airflow.
- Agrega el DAG a la lista de DAG disponibles.
- Ejecuta el DAG según el programa que proporcionaste en el archivo DAG.
Verifica que tu DAG se procese sin errores y esté disponible en Airflow. Para ello, visualízalo en la IU de DAG. La IU de DAG es la interfaz de Managed Airflow para ver la información de los DAG en la consola de Cloud de Confiance . Managed Airflow también proporciona acceso a la IU de Airflow, que es una interfaz web nativa de Airflow.
Espera unos cinco minutos para que Airflow tenga tiempo de procesar el archivo DAG que subiste antes y completar la primera ejecución de DAG (se explica más adelante).
En la consola de Cloud de Confiance , ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno,
example-environment. Se abrirá la página Detalles del entorno.Ve a la pestaña DAG.
Verifica que el DAG
composer_quickstartesté presente en la lista de DAG.
Figura 1. En la lista de DAG, se muestra el DAG composer_quickstart (haz clic para ampliarlo)
Visualiza los detalles de la ejecución del DAG
Una sola ejecución de un DAG se denomina ejecución de DAG. Airflow ejecuta de inmediato una ejecución de DAG para el DAG de ejemplo, ya que la fecha de inicio en el archivo DAG se establece en el día anterior. De esta manera, Airflow se pone al día con la programación del DAG especificado.
El DAG de ejemplo contiene una tarea, print_dag_run_conf, que ejecuta el comando echo
en la consola. Este comando genera metainformación sobre el DAG
(identificador numérico de la ejecución del DAG).
En la pestaña DAGs, haz clic en
composer_quickstart. Se abrirá la pestaña Ejecuciones del DAG.En la lista de ejecuciones de DAG, haz clic en la primera entrada.
Figura 2. Lista de ejecuciones de DAG para el DAG composer_quickstart (haz clic para ampliar) Se muestran los detalles de la ejecución del DAG, con información sobre las tareas individuales del DAG de ejemplo.
Figura 3. La lista de tareas que se ejecutaron en la ejecución de DAG (haz clic para ampliar) En la sección Registros de la ejecución de DAG, se enumeran los registros de todas las tareas de la ejecución de DAG. Puedes ver el resultado del comando
echoen los registros.
Figura 4. Registros de la tarea print_dag_run_conf (haz clic para ampliar)
Realiza una limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Cloud de Confiance por los recursos que usaste en esta página.
Borra los recursos que se usaron en este instructivo:
Borra el entorno de Managed Airflow:
En la consola de Cloud de Confiance , ve a la página Entornos.
Selecciona
example-environmenty haz clic en Borrar.Espera hasta que se borre el entorno.
Borra el bucket de tu entorno. Borrar el entorno de Managed Airflow no borra su bucket.
En la consola de Cloud de Confiance , ve a la página Almacenamiento > Navegador.
Selecciona el bucket del entorno y haz clic en Borrar. Por ejemplo, este bucket puede llamarse
us-central1-example-environ-c1616fe8-bucket.
¿Qué sigue?