¿Cómo instalo paquetes personalizados en mi entorno de Amazon MWAA?

4 minutos de lectura
0

Quiero instalar paquetes personalizados con plugins.zip en mi entorno de Amazon Managed Workflows para Apache Airflow (Amazon MWAA).

Breve descripción

Use los archivos requirements.txt y plugins.zip para instalar bibliotecas de Python en Amazon MWAA. Si usa el archivo requirements.txt para instalar paquetes, los paquetes se instalan desde el Índice de paquetes de Python (desde el sitio web de PyPI) de forma predeterminada. Si envía bibliotecas (archivos .whl) con artefactos compilados, use el archivo plugins.zip para instalar estos archivos wheels de Python.

Instale operadores, enlaces, sensores o interfaces personalizados de Apache Airflow con el archivo plugins.zip. Este archivo está escrito en los contenedores de Amazon ECS Fargate de backend, en la ubicación /usr/local/airflow/plugins/. Los complementos también se pueden usar para exportar variables de entorno y archivos de autenticación y configuración, como .crt y .yaml.

Resolución

Instalación de bibliotecas con wheels de Python

Un wheel de Python es un archivo de paquete con artefactos compilados. Para instalar este paquete, coloque el archivo (.whl) en un archivo plugins.zip y, a continuación, haga referencia a este archivo en requirements.txt. Si actualiza el entorno después de añadir el archivo .whl al archivo plugins.zip, el archivo .whl se envia a la ubicación /usr/local/airflow/plugins/. Esta ubicación se encuentra en los contenedores Fargate subyacentes de Amazon Elastic Container Service (Amazon ECS).

Para instalar bibliotecas con wheels de Python, consulte ¿Cómo instalo bibliotecas en mi entorno de Amazon MWAA?

Instalación de operadores, enlaces, sensores o interfaces personalizados

Amazon MWAA es compatible con el administrador de complementos integrado de Apache Airflow, que le permite utilizar operadores, enlaces, sensores o interfaces personalizados de Apache Airflow. Estos complementos personalizados se colocan en el archivo plugins.zip con una estructura de directorios tanto plana como anidada. Para ver ejemplos de complementos personalizados, consulte Ejemplos de complementos personalizados.

Creación de un complemento personalizado para generar variables de entorno en tiempo de ejecución

También puede crear un complemento personalizado que genere variables de entorno en tiempo de ejecución en su entorno de Amazon MWAA. A continuación, puede usar estas variables de entorno en el código de grafo acíclico dirigido (DAG). Para obtener más información, consulte Creación de un complemento personalizado que genere variables de entorno en tiempo de ejecución.

Exportación de archivos de configuración, PEM y .crt

Si no necesita que archivos específicos se actualicen continuamente durante la ejecución del entorno, use plugins.zip para enviar estos archivos. Además, puede incluir archivos para lo que no precise conceder acceso a los usuarios que escriben DAG. Estos archivos incluyen archivos de certificado (.crt), archivos PEM y archivos YAML de configuración. Después de comprimir los archivos en plugins.zip, suba plugins.zip a S3. A continuación, actualice el entorno. Los archivos se replican con los permisos necesarios para acceder a /usr/local/airflow/plugins.

Para comprimir los certificados de CA personalizados en el archivo plugins.zip, ejecute el siguiente comando:

$ zip plugins.zip ca-certificates.crt

Ahora el archivo se encuentra en /usr/local/airflow/plugins/ca-certificates.crt. Para comprimir kube_config.yaml en el archivo plugins.zip, ejecute el siguiente comando:

$ zip plugins.zip kube_config.yaml

Ahora el archivo está ubicado en /usr/local/airflow/plugins/kube_config.yaml.

Solución de problemas relacionados con el proceso de instalación

Si tiene problemas con la instalación de estos paquetes, puede probar los DAG, los complementos personalizados o las dependencias de Python localmente con aws-mwaa-local-runner.

Para solucionar problemas relacionados con la instalación de paquetes de Python con el archivo plugins.zip, puede ver el archivo de registro (requirements_install_ip) desde los grupos de registro de Apache Airflow Worker o Scheduler.

Importante: Se recomienda probar las dependencias de Python y el archivo plugins.zip con la utilidad CLI de Amazon MWAA (aws-mwaa-local-runner) antes de instalar los paquetes o el archivo plugins.zip en el entorno de Amazon MWAA.

Información relacionada

Complementos

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 8 meses