Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Installazione di plugin personalizzati
Amazon Managed Workflows for Apache Airflow supporta il gestore di plugin integrato di Apache Airflow, che consente di utilizzare operatori, hook, sensori o interfacce Apache Airflow personalizzati. Questa pagina descrive i passaggi per installare i plugin personalizzati Apache Airflowplugins.zip
Indice
Prerequisiti
Avrai bisogno di quanto segue prima di completare i passaggi di questa pagina.
-
Autorizzazioni: l'amministratore deve aver concesso all' AWS account l'accesso alla politica di controllo degli mazonMWAAFull ConsoleAccess accessi A per l'ambiente in uso. Inoltre, il tuo MWAA ambiente Amazon deve essere autorizzato dal tuo ruolo di esecuzione ad accedere alle AWS risorse utilizzate dal tuo ambiente.
-
Accesso: se è necessario accedere agli archivi pubblici per installare le dipendenze direttamente sul server Web, l'ambiente deve essere configurato con l'accesso al server Web di rete pubblica. Per ulteriori informazioni, consulta Modalità di accesso Apache Airflow.
-
Configurazione Amazon S3 : il bucket Amazon S3 utilizzato per archiviare i plug-in
plugins.zip
personalizzati e DAGs lerequirements.txt
dipendenze Python deve essere configurato con Public Access Blocked e Versioning Enabled.
Come funziona
Per eseguire plugin personalizzati nel tuo ambiente, devi fare tre cose:
-
Crea un
plugins.zip
file localmente. -
Carica il
plugins.zip
file locale nel tuo bucket Amazon S3. -
Specificare la versione di questo file nel campo File Plugins sulla MWAA console Amazon.
Nota
Se è la prima volta che carichi un plugins.zip
file nel tuo bucket Amazon S3, devi anche specificare il percorso del file sulla console Amazon. MWAA Devi completare questo passaggio solo una volta.
Quando usare i plugin
I plugin sono necessari solo per estendere l'interfaccia utente di Apache Airflow, come indicato nella documentazione di Apache Airflow./dags
DAG
Se devi creare le tue integrazioni con sistemi esterni, inseriscile nella dags
cartella/o in una sottocartella al suo interno, ma non nella plugins.zip
cartella. In Apache Airflow 2.x, i plugin vengono utilizzati principalmente per estendere l'interfaccia utente.
Allo stesso modo, non devono essere inserite altre dipendenze. plugins.zip
Possono invece essere archiviati in una posizione all'interno della /dags
cartella Amazon S3, dove verranno sincronizzati con ogni MWAA contenitore Amazon prima dell'avvio di Apache Airflow.
Nota
Qualsiasi file nella /dags
cartella o in plugins.zip
quella cartella che non definisce esplicitamente un DAG oggetto Apache Airflow deve essere elencato in un file. .airflowignore
Panoramica dei plugin personalizzati
Il gestore di plugin integrato di Apache Airflow può integrare funzionalità esterne al suo interno semplicemente trascinando i file in una cartella. $AIRFLOW_HOME/plugins
Consente di utilizzare operatori, hook, sensori o interfacce Apache Airflow personalizzati. La sezione seguente fornisce un esempio di strutture di directory piatte e annidate in un ambiente di sviluppo locale e le istruzioni di importazione risultanti, che determinano la struttura delle directory all'interno di un plugins.zip.
Limiti di directory e dimensioni dei plugin personalizzati
Apache Airflow Scheduler e Workers cercano plugin personalizzati durante l'avvio sul contenitore Fargate gestito da AWS Fargate per il vostro ambiente in. /usr/local/airflow/plugins/
*
-
Struttura delle directory. La struttura delle cartelle (at
/
) si basa sul contenuto del*
plugins.zip
file. Ad esempio, se la directory èplugins.zip
operators
contenuta come directory di primo livello, la directory verrà estratta nell'ambiente/usr/local/airflow/plugins/
in cui si trova.operators
-
Limite di dimensione. Consigliamo un
plugins.zip
file inferiore a 1 GB. Maggiore è la dimensione di unplugins.zip
file, maggiore è il tempo di avvio in un ambiente. Sebbene Amazon MWAA non limiti esplicitamente la dimensione di unplugins.zip
file, se le dipendenze non possono essere installate entro dieci minuti, il servizio Fargate andrà in timeout e tenterà di ripristinare l'ambiente a uno stato stabile.
Nota
Per gli ambienti che utilizzano Apache Airflow v1.10.12 o Apache Airflow v2.0.2, MWAA Amazon limita il traffico in uscita sul server Web Apache Airflow e non consente di installare plugin o dipendenze Python direttamente sul server Web. A partire da Apache Airflow v2.2.2, MWAA Amazon può installare plugin e dipendenze direttamente sul server web.
Esempi di plugin personalizzati
La sezione seguente utilizza il codice di esempio contenuto nella guida di riferimento di Apache Airflow per mostrare come strutturare l'ambiente di sviluppo locale.
Esempio di utilizzo di una struttura di directory piatta in plugins.zip
Esempio di utilizzo di una struttura di directory annidata in plugins.zip
Creazione di un file plugins.zip
I passaggi seguenti descrivono i passaggi consigliati per creare un file plugins.zip localmente.
Fase uno: testare i plugin personalizzati utilizzando l'utilità Amazon MWAA CLI
-
L'utilità Command Line Interface (CLI) replica localmente un ambiente Amazon Managed Workflows for Apache Airflow.
-
CLICrea localmente un'immagine del contenitore Docker simile a un'immagine di MWAA produzione Amazon. Ciò consente di eseguire un ambiente Apache Airflow locale per sviluppare e testare DAGs plug-in personalizzati e dipendenze prima della distribuzione su Amazon. MWAA
-
Per eseguire il, vedi onCLI. aws-mwaa-local-runner
GitHub
Fase due: creare il file plugins.zip
È possibile utilizzare un'utilità di ZIP archiviazione integrata o qualsiasi altra ZIP utilità (ad esempio 7zip
Nota
L'utilità zip integrata per il sistema operativo Windows può aggiungere sottocartelle quando si crea un file con estensione zip. Ti consigliamo di verificare il contenuto del file plugins.zip prima di caricarlo nel tuo bucket Amazon S3 per assicurarti che non siano state aggiunte altre directory.
-
Cambia le directory nella cartella locale dei plugin Airflow. Per esempio:
myproject$
cd plugins
-
Esegui il comando seguente per assicurarti che i contenuti abbiano autorizzazioni eseguibili (solo macOS e Linux).
plugins$
chmod -R 755 .
-
Comprimi il contenuto all'interno della cartella
plugins
.plugins$
zip -r plugins.zip .
Caricamento plugins.zip
su Amazon S3
Puoi utilizzare la console Amazon S3 o il AWS Command Line Interface (AWS CLI) per caricare un plugins.zip
file nel tuo bucket Amazon S3.
Usando il AWS CLI
Il AWS Command Line Interface (AWS CLI) è uno strumento open source che consente di interagire con i AWS servizi utilizzando i comandi nella shell della riga di comando. Per completare la procedura descritta in questa pagina, è necessario quanto segue:
Per caricare utilizzando il AWS CLI
-
Nel prompt dei comandi, accedi alla directory in cui è archiviato il
plugins.zip
file. Per esempio:cd plugins
-
Usa il seguente comando per elencare tutti i tuoi bucket Amazon S3.
aws s3 ls
-
Usa il seguente comando per elencare i file e le cartelle nel bucket Amazon S3 per il tuo ambiente.
aws s3 ls s3://
YOUR_S3_BUCKET_NAME
-
Usa il seguente comando per caricare il
plugins.zip
file nel bucket Amazon S3 per il tuo ambiente.aws s3 cp plugins.zip s3://
YOUR_S3_BUCKET_NAME
/plugins.zip
Utilizzo della console Amazon S3
La console Amazon S3 è un'interfaccia utente basata sul Web che consente di creare e gestire le risorse nel bucket Amazon S3.
Per caricare utilizzando la console Amazon S3
-
Apri la pagina Ambienti
sulla MWAA console Amazon. -
Scegli un ambiente.
-
Seleziona il link al bucket S3 nel DAGcodice nel riquadro S3 per aprire il bucket di storage sulla console Amazon S3.
-
Scegli Carica.
-
Scegli Aggiungi file.
-
Seleziona la copia locale del tuo
plugins.zip
, scegli Carica.
Installazione di plugin personalizzati nel tuo ambiente
Questa sezione descrive come installare i plugin personalizzati caricati nel bucket Amazon S3 specificando il percorso del file plugins.zip e specificando la versione del file plugins.zip ogni volta che il file zip viene aggiornato.
Specificazione del percorso plugins.zip
sulla MWAA console Amazon (la prima volta)
Se è la prima volta che carichi un plugins.zip
file nel tuo bucket Amazon S3, devi anche specificare il percorso del file sulla console Amazon. MWAA Devi completare questo passaggio solo una volta.
-
Apri la pagina Ambienti
sulla MWAA console Amazon. -
Scegli un ambiente.
-
Scegli Modifica.
-
Nel riquadro del DAGcodice nel riquadro Amazon S3, scegli Browse S3 accanto al file Plugins (campo opzionale).
-
Seleziona il
plugins.zip
file nel tuo bucket Amazon S3. -
Scegliere Choose (Scegli).
-
Scegli Avanti, Aggiorna ambiente.
Specificare la plugins.zip
versione sulla console Amazon MWAA
Devi specificare la versione del tuo plugins.zip
file sulla MWAA console Amazon ogni volta che carichi una nuova versione del tuo file plugins.zip
nel tuo bucket Amazon S3.
-
Apri la pagina Ambienti
sulla MWAA console Amazon. -
Scegli un ambiente.
-
Scegli Modifica.
-
Nel riquadro del DAGcodice in Amazon S3, scegli una
plugins.zip
versione nell'elenco a discesa. -
Scegli Next (Successivo).
Esempi di casi d'uso per plugins.zip
-
Scopri come creare un plugin personalizzato inPlugin personalizzato con Apache Hive e Hadoop.
-
Scopri come creare un plug-in personalizzato inPlugin personalizzato da patchare PythonVirtualenvOperator .
-
Scopri come creare un plug-in personalizzato inPlugin personalizzato con Oracle.
-
Scopri come creare un plug-in personalizzato inModifica del fuso orario DAG di un su Amazon MWAA.
Fasi successive
-
Testa DAGs i tuoi plugin personalizzati e le dipendenze Python localmente usando on. aws-mwaa-local-runner
GitHub