Aggiunta o aggiornamento di DAG - Amazon Managed Workflows for Apache Airflow

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.

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 Pythonrequirements.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:

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 MWAAplugins.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 Reference nella 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-runnerattivaGitHub.

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
  1. Utilizza il seguente comando per elencare tutti i bucket Amazon S3.

    aws s3 ls
  2. 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
  3. Il comando seguente carica undag_def.py file in unadags cartella.

    aws s3 cp dag_def.py s3://YOUR_S3_BUCKET_NAME/dags/

    Se una cartella denominatadags 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
  1. Apri la pagina Ambienti sulla console Amazon MWAA.

  2. Scegli un ambiente.

  3. Seleziona il link del bucket S3 nel codice DAG nel riquadro S3 per aprire il bucket di archiviazione sulla console Amazon S3.

  4. Scegliere la cartella dags.

  5. Scegliere Upload (Carica).

  6. Scegli Aggiungi file.

  7. Seleziona la tua copia localedag_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.

  1. Apri la pagina Ambienti sulla console Amazon MWAA.

  2. Scegli l'ambiente in cui eseguire i DAG.

  3. Scegliere Edit (Modifica).

  4. Nel codice DAG nel riquadro Amazon S3, scegli Sfoglia S3 accanto al campo della cartella DAG.

  5. Seleziona la tuadags cartella.

  6. Scegliere Choose (Scegli).

  7. 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
  1. Apri la pagina Ambienti sulla console Amazon MWAA.

  2. Scegli un ambiente.

  3. Scegliete Open Airflow UI.

Fasi successive

  • Testa i tuoi DAG, i plugin personalizzati e le dipendenze Python localmente usando l'opzione aws-mwaa-local-runneronGitHub.