Como instalo pacotes personalizados no meu ambiente do Amazon MWAA?

4 minuto de leitura
0

Quero instalar pacotes personalizados com plugins.zip no meu ambiente do Amazon Managed Workflows for Apache Airflow (Amazon MWAA).

Breve descrição

Use os arquivos requirements.txt e plugins.zip para instalar bibliotecas de Python no Amazon MWAA. Se você usar o arquivo requirements.txt para instalar pacotes, os pacotes serão instalados a partir do Índice de pacotes do Python (do site do PyPI) por padrão. Se você enviar bibliotecas (arquivos.whl) com artefatos compilados, use o arquivo plugins.zip para instalar essas wheels do Python.

Instale operadores, hooks, sensores ou interfaces personalizados do Apache Airflow com o arquivo plugins.zip. Esse arquivo é gravado nos contêineres Fargate do Amazon ECS de back-end no local /usr/local/airflow/plugins/. Os plug-ins também podem ser usados para exportar variáveis de ambiente e arquivos de autenticação e configuração, como .crt e .yaml.

Resolução

Instale bibliotecas com wheels do Python

Uma wheel do Python é um arquivo de pacote com artefatos compilados. Para instalar esse pacote, coloque o arquivo (.whl) em um plugins.zip e, em seguida, mencione esse arquivo em requirements.txt. Se você atualizar o ambiente depois de adicionar o arquivo .whl ao plugins.zip, o .whl será enviado para o local /usr/local/airflow/plugins/. Esse local está nos contêineres Fargate subjacentes do Amazon Elastic Container Service (Amazon ECS).

Para instalar bibliotecas com wheels do Python, consulte Como faço para instalar bibliotecas no meu ambiente do Amazon MWAA?

Instale operadores, hooks, sensores ou interfaces personalizados

O Amazon MWAA é compatível com o gerenciador de plug-ins integrado do Apache Airflow, que permite que você use operadores, hooks, sensores ou interfaces personalizados do Apache Airflow. Esses plug-ins personalizados podem ser colocados no arquivo plugins.zip com uma estrutura de diretórios simples e aninhada. Para exemplos de plug-ins personalizados, consulte Exemplos de plug-ins personalizados.

Crie um plug-in personalizado para gerar variáveis de ambiente de runtime

Você também pode criar um plug-in personalizado que gera variáveis de ambiente em runtime no seu ambiente do Amazon MWAA. Em seguida, é possível usar essas variáveis de ambiente em seu código de gráfico acíclico direcionado (DAG). Para mais informações, consulte Criação de um plug-in personalizado que gera variáveis de ambiente de runtime.

Exporte PEM, .crt e arquivos de configuração

Se um ou mais arquivos específicos não precisarem de atualização contínua durante a execução do ambiente, use o plugins.zip para enviar esses arquivos. Além disso, você pode colocar arquivos desnecessários para conceder acesso a usuários que gravam DAGs. Esses arquivos incluem arquivos de certificado (.crt), arquivos PEM e arquivos YAML de configuração. Depois de compactar os arquivos em plugins.zip, faça o carregamento de plugins.zip para o S3. Em seguida, atualize o ambiente. Os arquivos são replicados com as permissões necessárias para acessar /usr/local/airflow/plugins.

Execute o seguinte comando para compactar certificados CA personalizados no arquivo plugins.zip:

$ zip plugins.zip ca-certificates.crt

O arquivo agora está localizado em /usr/local/airflow/plugins/ca-certificates.crt. Execute o seguinte comando para compactar o kube_config.yaml no arquivo plugins.zip:

$ zip plugins.zip kube_config.yaml

O arquivo agora está localizado em /usr/local/airflow/plugins/kube_config.yaml.

Solucione problemas do processo de instalação

Se você enfrentar problemas na instalação desses pacotes, teste os DAGs, plug-ins personalizados ou dependências do Python localmente com aws-mwaa-local-runner.

Para solucionar problemas com a instalação de pacotes Python com o arquivo plugins.zip, você pode visualizar o arquivo de log (requirements_install_ip) dos grupos de log do Apache Airflow Worker ou do Scheduler.

Importante: é uma prática recomendada testar as dependências do Python e o arquivo plugins.zip com o utilitário Amazon MWAA CLI (aws-mwaa-local-runner) antes de instalar os pacotes ou o arquivo plugins.zip em seu ambiente do Amazon MWAA.

Informações relacionadas

Plug-ins

AWS OFICIAL
AWS OFICIALAtualizada há 6 meses