Quiero instalar paquetes personalizados con plugins.zip en mi entorno de Amazon Managed Workflows para Apache Airflow (Amazon MWAA).
Resolución
Creación de un archivo plugins.zip y un archivo requirements.txt
Crea un archivo plugins.zip y, a continuación, carga el archivo plugins.zip en Amazon Simple Storage Service (Amazon S3).
Crea un archivo requirements.txt y, a continuación, carga el archivo requirements.txt en Amazon S3.
Instalación de bibliotecas con wheels de Python
Para instalar bibliotecas con wheels de Python, consulta ¿Cómo instalo bibliotecas de Python en mi entorno de Amazon MWAA?
Cuando instales una rueda de Python, asegúrate de que el archivo WHL esté en tu archivo plugins.zip. A continuación, incluye una ruta al archivo WHL en tu archivo requirements.txt. Si actualizas el entorno después de agregar el archivo WHL al archivo plugins.zip, el entorno envía el archivo WHL a /usr/local/airflow/plugins/.
Instalación de complementos personalizados
Amazon MWAA es compatible con el administrador de complementos integrado de Apache Airflow, que te permite utilizar operadores, enlaces, sensores o interfaces personalizados de Apache Airflow. Para instalar complementos personalizados, consulta Instalación de complementos personalizados.
Uso de tu propio plugin personalizado
Sigue estos pasos:
- Comprime el código de tu plugin personalizado en plugins.zip.
- Carga el archivo plugins.zip en Amazon S3.
- Instala tu complemento personalizado en tu entorno.
Para ver ejemplos de creación de complementos personalizados, consulta Ejemplos de casos de uso de plugins.zip. Para obtener información sobre cómo configurar las restricciones en el archivo de requisitos, consulta Creación del archivo requirements.txt. Para obtener información sobre cómo actualizar el archivo de restricciones, consulta Archivo de restricciones.
Exportación de archivos CRT, PEM y de configuración
Si tienes archivos que no necesitan actualizaciones continuas cuando se ejecuta tu entorno, comprime estos archivos en plugins.zip. Además, comprime los archivos a los que no necesites conceder acceso a los usuarios que escriban DAG en plugins.zip. Estos archivos incluyen archivos de certificado (CRT), archivos PEM y archivos YAML de configuración.
Para comprimir archivos CRT, PEM o YAML en el archivo plugins.zip, ejecuta el siguiente comando:
zip plugins.zip your-file.txt
Nota: Sustituye your-file.txt por el nombre y la extensión del archivo CRT, PEM o YAML.
Después de comprimir todos los archivos en plugins.zip, carga plugins.zip en Amazon S3. A continuación, actualiza tu entorno. Los archivos se replican con los permisos necesarios para acceder a /usr/local/airflow/plugins.
Solución de problemas relacionados con el proceso de instalación
Si no puedes instalar estos paquetes, usa amazon-mwaa-docker-images para probar localmente tus DAG, complementos personalizados o dependencias de Python. Para obtener más información, consulta amazon-mwaa-docker-images en el sitio web de GitHub.
Para solucionar problemas de instalación de paquetes de Python en el archivo plugins.zip, consulta el archivo de registro requirements_install_ip desde los grupos de registro de Apache Airflow Worker o Scheduler.
Información relacionada
Complementos