Come faccio a installare pacchetti personalizzati nel mio ambiente Amazon MWAA?

3 minuti di lettura
0

Desidero installare pacchetti personalizzati con plugins.zip nel mio ambiente Amazon Managed Workflows per Apache Airflow (Amazon MWAA).

Breve descrizione

Usa i file requirements.txt e plugins.zip per installare le librerie Python su Amazon MWAA. Se si utilizza il file requirements.txt per installare i pacchetti, i pacchetti vengono installati dal Python Package Index (dal sito Web PyPI) per impostazione predefinita. Se spedisci librerie (file.whl) con artefatti compilati, usa il file plugins.zip per installare queste Python wheel.

Installa operatori, hook, sensori o interfacce Apache Airflow personalizzati con il file plugins.zip. Questo file è scritto sul retro dei contenitori di Amazon ECS Fargate nella posizione /usr/local/airflow/plugins/. I plugin possono anche essere usati per esportare variabili di ambiente e file di autenticazione e configurazione, come **.crt ** e .yaml.

Risoluzione

Installa librerie con Python Wheel

Un Python wheel è un pacchetto di file con artefatti compilati. Per installare questo pacchetto, inserite il file (.whl) in un file plugins.zip e fate riferimento a questo file nel requirements.txt. Se aggiorni l'ambiente dopo aver aggiunto il file.whl al file plugins.zip, il file.whl viene spedito nella posizione /usr/local/airflow/plugins/. Questa posizione si trova nei contenitori Fargate di Amazon Elastic Container Service (Amazon ECS) sottostanti.

Per installare librerie con Python Wheel, vedi Come installo le librerie nel mio ambiente Amazon MWAA?

Installa operatori, hook, sensori o interfacce personalizzati

Amazon MWAA supporta la gestione integrata plugin di Apache Airflow che consente di utilizzare operatori, hook, sensori o interfacce Apache Airflow personalizzati. Questi plugin personalizzati vengono inseriti nel file plugins.zip con una struttura di directory piatta e nidificata. Per esempi di plugin personalizzati, consulta Esempi di plugin personalizzati.

Crea un plugin personalizzato per generare variabili di ambiente di runtime

Puoi anche creare un plugin personalizzato che generi variabili di ambiente in fase di esecuzione nel tuo ambiente Amazon MWAA. Quindi, usa queste variabili di ambiente nel tuo codice Directed Acyclic Graph (DAG). Per ulteriori informazioni, consulta Creazione di un plugin personalizzato che generi variabili di ambiente di runtime.

Esporta PEM, .crt e file di configurazione

Se non hai bisogno di file specifici da aggiornare continuamente durante l'esecuzione dell'ambiente, usa plugins.zip per spedire questi file. Inoltre, puoi inserire file che non ti servono per concedere l'accesso agli utenti che scrivono DAG. Questi file includono file certificato (.crt), file PEM e file YAML di configurazione. Dopo aver compresso i file in plugins.zip, carica plugins.zip su S3. Quindi, aggiorna l'ambiente. I file vengono replicati con le autorizzazioni necessarie per accedere a**/usr/local/airflow/plugins**.

Per comprimere certificati CA personalizzati nel file plugins.zip, esegui il comando seguente:

$ zip plugins.zip ca-certificates.crt

Il file si trova ora in /usr/local/airflow/plugins/ca-certificates.crt. Per comprimere kube_config.yaml nel file plugins.zip, esegui il seguente comando:

$ zip plugins.zip kube_config.yaml

Il file si trova ora in /usr/local/airflow/plugins/kube\ _config.yaml.

Risolvi i problemi relativi al processo di installazione

Se hai problemi con l'installazione di questi pacchetti, puoi testare i tuoi DAG, i plugin personalizzati o le dipendenze Python localmente con aws-mwaa-local-runner.

Per risolvere i problemi relativi all'installazione dei pacchetti Python con il file plugins.zip, puoi visualizzare il log file (requirements\ _install\ _ip) dai gruppi log Apache Airflow Worker o Scheduler.

Importante: È consigliabile testare le dipendenze Python e il file plugins.zip con l'utilità CLI di Amazon MWAA (aws-mwaa-local-runner) prima di installare i pacchetti o il file plugins.zip nell'ambiente Amazon MWAA.

Informazioni correlate

Plugin

AWS UFFICIALE
AWS UFFICIALEAggiornata 7 mesi fa