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à.
Aggiunta o aggiornamento di DAG
I grafici aciclici diretti (DAG) sono definiti all'interno di un file Python che definisce la struttura del DAG come codice. Puoi utilizzare la console Amazon S3AWS CLI, oppure la console per caricare i DAG nel tuo ambiente. Questa pagina descrive i passaggi per aggiungere o aggiornare i DAG Apache Airflow nel tuo ambiente Amazon Managed Workflows for Apache Airflow utilizzando ladags
cartella nel tuo bucket Amazon S3.
Sezioni
- Prerequisiti
- Come funziona
- Cosa è cambiato nella versione 2
- Test dei DAG utilizzando l'utilità CLI di Amazon MWAA
- Caricamento del codice DAG in Amazon S3
- Specificare il percorso della cartella DAG sulla console Amazon MWAA (la prima volta)
- Visualizzazione delle modifiche nell'interfaccia utente di Apache Airflow
- Fasi successive
Prerequisiti
Avrai bisogno di quanto segue prima di poter completare i passaggi in questa pagina.
-
Autorizzazioni: al tuoAWS account deve essere stato concesso dall'amministratore l'accesso alla politica di controllo degliFullConsoleAccess accessi di AmazonMWAA per il tuo ambiente. Inoltre, il tuo ambiente Amazon MWAA deve essere autorizzato dal tuo ruolo di esecuzione per accedere alleAWS risorse utilizzate dal tuo ambiente.
-
Accesso: se è necessario l'accesso ai repository pubblici per installare le dipendenze direttamente sul server Web, l'ambiente deve essere configurato con l'accesso al server Web della rete pubblica. Per ulteriori informazioni, consulta Modalità di accesso Apache Airflow.
-
Configurazione Amazon S3: il bucket Amazon S3 utilizzato per archiviare i DAG, i plug-in personalizzati e le dipendenze Python
requirements.txt
deve essere configurato con accesso pubblico bloccato e controllo delle versioni abilitato.plugins.zip
Come funziona
Un grafico aciclico diretto (DAG) è definito all'interno di un singolo file Python che definisce la struttura del DAG come codice. Consiste in quanto segue:
-
Una definizione DAG
. -
Operatori
che descrivono come eseguire il DAG e le attività da eseguire. -
Relazioni con gli operatori
che descrivono l'ordine in cui eseguire le attività.
Per eseguire una piattaforma Apache Airflow in un ambiente Amazon MWAA, è necessario copiare la definizione DAG nelladags
cartella del bucket di archiviazione. Ad esempio, la cartella DAG nel bucket di archiviazione potrebbe avere il seguente aspetto:
Esempio Cartella DAG
dags/ └ dag_def.py
Amazon MWAA sincronizza automaticamente gli oggetti nuovi e modificati dal bucket Amazon S3 con lo scheduler Amazon MWAA e la/usr/local/airflow/dags
cartella dei container di lavoro ogni 30 secondi, preservando la gerarchia dei file di origine di Amazon S3, indipendentemente dal tipo di file. Il tempo impiegato dai nuovi DAG per apparire nell'interfaccia utente di Apache Airflow è controllato dascheduler.dag_dir_list_interval
. Le modifiche ai DAG esistenti verranno rilevate nel ciclo di elaborazione DAG successivo.
Nota
Non è necessario includere il fileairflow.cfg
di configurazione nella cartella DAG. Puoi sovrascrivere le configurazioni predefinite di Apache Airflow dalla console Amazon MWAA. Per ulteriori informazioni, consulta Utilizzo delle opzioni di configurazione di Apache Airflow su Amazon MWAA.
Cosa è cambiato nella versione 2
-
Novità: operatori, hook ed esecutori. Le istruzioni di importazione nei tuoi DAG e i plugin personalizzati che specifichi in un MWAA
plugins.zip
su Amazon sono cambiati tra Apache Airflow v1 e Apache Airflow v2. Ad esempio,from airflow.contrib.hooks.aws_hook import AwsHook
in Apache Airflow v1 è cambiatofrom airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
in Apache Airflow v2. Per ulteriori informazioni, consulta Python API Referencenella guida di riferimento di Apache Airflow.
Test dei DAG utilizzando l'utilità CLI di Amazon MWAA
-
L'utilità di interfaccia a riga di comando (CLI) replica localmente un ambiente Amazon Managed Workflows for Apache Airflow.
-
La CLI crea localmente un'immagine del contenitore Docker simile a un'immagine di produzione Amazon MWAA. Ciò consente di eseguire un ambiente Apache Airflow locale per sviluppare e testare DAG, plug-in personalizzati e dipendenze prima della distribuzione su Amazon MWAA.
-
Per eseguire la CLI, vedi aws-mwaa-local-runner
attivaGitHub.
Caricamento del codice DAG in Amazon S3
Puoi usare la console Amazon S3 o ilAWS Command Line Interface (AWS CLI) per caricare il codice DAG nel bucket Amazon S3 nel bucket Amazon S3. I passaggi seguenti presuppongono che tu stia caricando il codice (.py
) in una cartella denominatadags
nel tuo bucket Amazon S3.
Utilizzo di AWS CLI
AWS Command Line Interface (AWS CLI) è uno strumento open source che consente di interagire con i servizi AWS utilizzando i comandi nella shell a riga di comando. Per completare le fasi di questa pagina, è necessario quanto segue:
Per caricare utilizzando ilAWS CLI
-
Utilizza il seguente comando per elencare tutti i bucket Amazon S3.
aws s3 ls
-
Utilizza 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
-
Il comando seguente carica un
dag_def.py
file in unadags
cartella.aws s3 cp dag_def.py s3://
YOUR_S3_BUCKET_NAME
/dags/Se una cartella denominata
dags
non esiste già nel bucket Amazon S3, questo comando crea ladags
cartella e carica il file denominatodag_def.py
nella nuova cartella.
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. I passaggi seguenti presuppongono che tu abbia una cartella DAG denominatadags
.
Per eseguire il caricamento utilizzando la console Amazon S3
-
Apri la pagina Ambienti
sulla console Amazon MWAA. -
Scegli un ambiente.
-
Seleziona il link del bucket S3 nel codice DAG nel riquadro S3 per aprire il bucket di archiviazione sulla console Amazon S3.
-
Scegliere la cartella
dags
. -
Scegliere Upload (Carica).
-
Scegli Aggiungi file.
-
Seleziona la tua copia locale
dag_def.py
, scegli Carica.
Specificare il percorso della cartella DAG sulla console Amazon MWAA (la prima volta)
I seguenti passaggi presuppongono che tu stia specificando il percorso di una cartella denominata bucket Amazon S3dags
.
-
Apri la pagina Ambienti
sulla console Amazon MWAA. -
Scegli l'ambiente in cui eseguire i DAG.
-
Scegliere Edit (Modifica).
-
Nel codice DAG nel riquadro Amazon S3, scegli Sfoglia S3 accanto al campo della cartella DAG.
-
Seleziona la tua
dags
cartella. -
Scegliere Choose (Scegli).
-
Scegli Avanti, Aggiorna ambiente.
Visualizzazione delle modifiche nell'interfaccia utente di Apache Airflow
Accesso ad Apache Airflow
Hai bisognoPolitica di accesso all'interfaccia utente di Apache Airflow: A mazonMWAAWeb ServerAccess delle autorizzazioni per il tuoAWS account inAWS Identity and Access Management (IAM) per visualizzare l'interfaccia utente di Apache Airflow.
Per accedere all'interfaccia utente di Apache Airflow
-
Apri la pagina Ambienti
sulla console Amazon MWAA. -
Scegli un ambiente.
-
Scegliete Open Airflow UI.
Fasi successive
-
Testa i tuoi DAG, i plugin personalizzati e le dipendenze Python localmente usando l'opzione aws-mwaa-local-runner
onGitHub.