Añadir o actualizar DAGs - Amazon Managed Workflows para Apache Airflow

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Añadir o actualizar DAGs

Los gráficos acíclicos dirigidos (DAGs) se definen dentro de un archivo de Python que define DAG la estructura como código. Puede utilizar la AWS CLI consola Amazon S3 o la consola de Amazon S3 DAGs para cargar en su entorno. En este tema se describen los pasos para añadir o actualizar Apache Airflow DAGs en su entorno de Amazon Managed Workflows for Apache Airflow mediante la dags carpeta de su bucket de Amazon S3.

Requisitos previos

Para poder llevar a cabo los pasos de esta página, necesitará lo siguiente.

  • Permisos: su administrador debe haber concedido a su AWS cuenta el acceso a la política de control de mazonMWAAFull ConsoleAccess acceso A de su entorno. Además, su rol de ejecución debe permitir que su MWAA entorno de Amazon acceda a los AWS recursos que utiliza su entorno.

  • Acceso: si tiene que acceder a los repositorios públicos para instalar dependencias directamente en el servidor web, su entorno debe estar configurado con acceso a un servidor web de red pública. Para obtener más información, consulte Modos de acceso de Apache Airflow.

  • Configuración de Amazon S3: el bucket de Amazon S3 que se utiliza para almacenar los complementos personalizados y las dependencias de Python requirements.txt debe estar configurado con el acceso público bloqueado y el control de versiones activado. DAGs plugins.zip

Funcionamiento

Un gráfico acíclico dirigido (DAG) se define dentro de un único archivo de Python que define DAG la estructura como código. Consta de lo siguiente:

Para ejecutar una plataforma Apache Airflow en un MWAA entorno de Amazon, debe copiar la DAG definición en la dags carpeta del depósito de almacenamiento. Por ejemplo, la DAG carpeta de tu depósito de almacenamiento puede tener este aspecto:

ejemplo DAGcarpeta
dags/ └ dag_def.py

Amazon sincroniza MWAA automáticamente los objetos nuevos y modificados de su bucket de Amazon S3 con la /usr/local/airflow/dags carpeta del MWAA programador y de los contenedores de trabajo de Amazon cada 30 segundos, lo que preserva la jerarquía de archivos de la fuente de Amazon S3, independientemente del tipo de archivo. Se controla el tiempo que DAGs tarda en aparecer lo nuevo en la interfaz de usuario de Apache Airflow. scheduler.dag_dir_list_interval Los cambios realizados en los existentes se DAGs recogerán en el siguiente ciclo DAG de procesamiento.

nota

No es necesario incluir el archivo airflow.cfg de configuración en DAG la carpeta. Puedes anular las configuraciones predeterminadas de Apache Airflow desde la consola de AmazonMWAA. Para obtener más información, consulte Uso de las opciones de configuración de Apache Airflow en Amazon MWAA.

¿Qué ha cambiado en la versión 2?

  • Nuevo: operadores, enlaces y ejecutores. Las instrucciones de importación de sus DAGs complementos y los complementos personalizados que especifique plugins.zip en Amazon MWAA han cambiado entre Apache Airflow v1 y Apache Airflow v2. Por ejemplo, from airflow.contrib.hooks.aws_hook import AwsHook en la v1 de Apache Airflow ha cambiado a from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook en la versión 2 de Apache Airflow. Para obtener más información, consulte la APIReferencia de Python en la guía de referencia de Apache Airflow.

Pruebas DAGs con la MWAA CLI utilidad Amazon

  • La utilidad interface de línea de comandos (CLI) replica localmente un entorno de Amazon Managed Workflows para Apache Airflow.

  • CLICrea una imagen de contenedor Docker localmente similar a una imagen de MWAA producción de Amazon. Esto te permite ejecutar un entorno local de Apache Airflow para desarrollar y probar DAGs complementos personalizados y dependencias antes de implementarlos en Amazon. MWAA

  • Para ejecutar elCLI, consulte la aws-mwaa-local-runneropción. GitHub

Carga de DAG código a Amazon S3

Puede utilizar la consola Amazon S3 o AWS Command Line Interface (AWS CLI) para cargar el DAG código en su bucket de Amazon S3. En los siguientes pasos se supone que está cargando el código (.py) a una carpeta con el nombre dags en su bucket de Amazon S3.

Usando el AWS CLI

The AWS Command Line Interface (AWS CLI) es una herramienta de código abierto que le permite interactuar con AWS los servicios mediante comandos del shell de la línea de comandos. Para completar los pasos de esta página, necesita lo siguiente:

Para cargar mediante el AWS CLI
  1. Use el siguiente comando para obtener una lista de todos los buckets de Amazon S3.

    aws s3 ls
  2. Utilice el comando siguiente para enumerar los archivos y las carpetas del bucket de Amazon S3 para su entorno.

    aws s3 ls s3://YOUR_S3_BUCKET_NAME
  3. El siguiente comando carga el archivo dag_def.py en una carpeta dags.

    aws s3 cp dag_def.py s3://YOUR_S3_BUCKET_NAME/dags/

    Si aún no existe una carpeta con el nombre dags en su bucket de Amazon S3, este comando crea la carpeta dags y carga el archivo con el nombre dag_def.py en la nueva carpeta.

Uso de la consola de Amazon S3

La consola de Amazon S3 es una interfaz de usuario basada en la web que le permite crear y administrar los recursos de su bucket de Amazon S3. En los pasos siguientes se supone que tiene una DAGs carpeta llamadadags.

Carga del contenido usando la consola de Amazon S3
  1. Abre la página Entornos en la MWAA consola de Amazon.

  2. Seleccione un entorno.

  3. Seleccione el enlace del depósito de S3 en el panel de DAGcódigos de S3 para abrir el depósito de almacenamiento en la consola de Amazon S3.

  4. Elija la carpeta dags.

  5. Seleccione Cargar.

  6. Elija Añadir archivo.

  7. Seleccione la copia local de su dag_def.py, elija Cargar.

Especificar la ruta a tu DAGs carpeta en la MWAA consola de Amazon (la primera vez)

En los pasos siguientes, se supone que está especificando la ruta de una carpeta del bucket de Amazon S3 denominada dags.

  1. Abre la página Entornos en la MWAA consola de Amazon.

  2. Elige el entorno en el que quieres ejecutarDAGs.

  3. Elija Editar.

  4. En el panel DAGCódigo en Amazon S3, selecciona Browse S3 junto al campo de DAGcarpeta.

  5. Seleccione su carpeta dags.

  6. Seleccione Elegir.

  7. Seleccione Siguiente, Actualizar entorno.

Visualización de cambios en la interfaz de usuario de Apache Airflow

Inicio de sesión en Apache Airflow

Necesita Política de acceso a la interfaz de usuario de Apache Airflow: A mazonMWAAWeb ServerAccess permisos para su AWS cuenta en AWS Identity and Access Management (IAM) para ver la interfaz de usuario de Apache Airflow.

Pasos para acceder a la interfaz de usuario de Apache Airflow
  1. Abre la página Entornos en la MWAA consola de Amazon.

  2. Seleccione un entorno.

  3. Elija Abrir interfaz de usuario de Airflow.

Siguientes pasos

  • Pruebe sus DAGs complementos personalizados y sus dependencias de Python de forma local con la función aws-mwaa-local-runneron GitHub.