Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Questa pagina descrive i diversi modi per attivare i DAG in Cloud Composer ambienti cloud-native.
Airflow fornisce i seguenti modi per attivare un DAG:
Attiva in base a una pianificazione. Quando crei un DAG, specifichi la programmazione. Airflow attiva il DAG automaticamente in base parametri di pianificazione specificati.
Attivazione manuale. Puoi attivare manualmente un DAG da Console Google Cloud, UI di Airflow o esecuzione di un comando dell'interfaccia a riga di comando di Airflow da
gcloud
.Si attiva in risposta agli eventi. Il metodo standard per attivare un DAG in la risposta agli eventi è l'uso di un sensore.
Altri modi per attivare i DAG:
Attivala in modo programmatico. Puoi attivare un DAG utilizzando l'API REST Airflow. Ad esempio da uno script Python.
Attiva in modo programmatico in risposta agli eventi. Puoi attivare i DAG in la risposta agli eventi utilizzando Cloud Functions e l'API REST Airflow.
Attiva un DAG in base a una pianificazione
Per attivare un DAG in una pianificazione:
- Specifica i parametri
start_date
eschedule_interval
nel DAG come descritto più avanti in questa sezione. - Carica il file DAG nel tuo ambiente.
Specifica i parametri di pianificazione
Quando definisci un DAG, nel parametro schedule_interval
specifichi come
spesso vuoi eseguire il DAG. Nel parametro start_date
, specifichi quando
vuoi che Airflow inizi a pianificare il tuo DAG. Le attività nel DAG possono avere
singole date di inizio oppure puoi specificare un'unica data di inizio per tutte le attività.
In base alla data di inizio minima per le attività nel DAG e alla pianificazione
l'intervallo, Airflow pianifica le esecuzioni dei DAG.
La pianificazione funziona nel seguente modo. Dopo il passaggio start_date
, Airflow
attende la seguente occorrenza di schedule_interval
. Poi pianifica
la prima esecuzione di DAG al termine di questo intervallo di pianificazione. Ad esempio:
se è pianificata l'esecuzione di un DAG ogni ora (schedule_interval
è 1 ora)
la data di inizio è alle 12:00 di oggi, la prima esecuzione del DAG avviene alle 13:00 di oggi.
L'esempio seguente mostra un DAG che viene eseguito ogni ora a partire dalle 15:00 5 aprile 2024. Con i parametri utilizzati nell'esempio, Airflow programma la prima esecuzione di DAG verrà eseguita alle 16:00 del 5 aprile 2024.
from datetime import datetime
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
with DAG(
dag_id='example_dag_schedule',
# At 15:00 on 5 April, 2024
start_date=datetime(2024, 4, 5, 15, 0),
# At minute 0 of every hour
schedule_interval='0 * * * *') as dag:
# Output the current date and time
t1 = BashOperator(
task_id='date',
bash_command='date',
dag=dag)
t1
Per ulteriori informazioni sui parametri di pianificazione, consulta Esecuzioni di DAG nella documentazione di Airflow.
Altri esempi di parametri di pianificazione
I seguenti esempi di parametri di pianificazione illustrano il funzionamento della pianificazione con diverse combinazioni di parametri:
Se
start_date
èdatetime(2024, 4, 4, 16, 25)
eschedule_interval
è30 16 * * *
, la prima esecuzione del DAG verrà eseguita alle 16:30 del 5 aprile 2024.Se
start_date
èdatetime(2024, 4, 4, 16, 35)
eschedule_interval
è30 16 * * *
, la prima esecuzione del DAG verrà eseguita alle 16:30 del 6 aprile 2024. Poiché la data di inizio è successiva all'intervallo di pianificazione del 4 aprile 2024, l'esecuzione dei DAG non avviene il 5 aprile 2024. Invece, la programmazione l'intervallo termina alle 16:35 del 5 aprile 2024, quindi la prossima esecuzione del DAG è pianificata alle 16:30 del giorno successivo.Se
start_date
èdatetime(2024, 4, 4)
eschedule_interval
è@daily
, la prima esecuzione del DAG è programmata per le 00:00 del 5 aprile 2024.Se
start_date
èdatetime(2024, 4, 4, 16, 30)
eschedule_interval
è0 * * * *
, quindi la prima esecuzione del DAG programmato per le 18:00 del 4 aprile 2024. Dopo la data e l'ora specificate passa, Airflow pianifica l'esecuzione di un DAG al minuto 0 di ogni ora. Il momento più vicino in cui questo accade sono le 17:00. Al momento, Airflow pianifica l'esecuzione di un DAG alla fine dell'intervallo di pianificazione, cioè alle 18:00.
Attiva manualmente un DAG
Quando attivi un DAG manualmente, Airflow esegue un'esecuzione del DAG. Ad esempio: se hai un DAG che viene già eseguito in base a una pianificazione e attivi questo DAG manualmente, Airflow esegue il DAG una volta, indipendentemente la pianificazione specificata per il DAG.
Console
La UI dei DAG è supportata in Cloud Composer 1.17.8 e versioni successive.
Per attivare un DAG dalla console Google Cloud:
Nella console Google Cloud, vai alla pagina Ambienti.
Seleziona un ambiente per visualizzarne i dettagli.
Nella pagina Dettagli ambiente, vai alla scheda DAG.
Fai clic sul nome di un DAG.
Nella pagina Dettagli DAG, fai clic su Attiva DAG. Una nuova esecuzione di DAG è stato creato.
UI di Airflow
Per attivare un DAG dall'interfaccia web di Airflow:
- Nella console Google Cloud, vai alla pagina Ambienti.
Nella colonna Server web Airflow, segui il link Airflow per il tuo completamente gestito di Google Cloud.
Accedi con l'Account Google che dispone delle autorizzazioni appropriate.
Nell'interfaccia web di Airflow, nella pagina DAG, nella sezione Link colonna per il DAG, fai clic sul pulsante Ora trigger.
(Facoltativo) Specifica la configurazione dell'esecuzione del DAG.
Fai clic su Attiva.
gcloud
In Airflow 1.10.12 o versioni precedenti, esegui il comando trigger_dag
dell'interfaccia a riga di comando di Airflow:
gcloud composer environments run ENVIRONMENT_NAME \
--location LOCATION \
trigger_dag -- DAG_ID
In Airflow 1.10.14 o versioni successive, incluso Airflow 2, esegui dags trigger
Comando dell'interfaccia a riga di comando di Airflow:
gcloud composer environments run ENVIRONMENT_NAME \
--location LOCATION \
dags trigger -- DAG_ID
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.DAG_ID
con il nome del DAG.
Per ulteriori informazioni sull'esecuzione dei comandi dell'interfaccia a riga di comando di Airflow in per gli ambienti Cloud Composer, consulta Esecuzione dei comandi dell'interfaccia a riga di comando di Airflow.
Per ulteriori informazioni sui comandi dell'interfaccia a riga di comando di Airflow disponibili, consulta
consulta il riferimento per il comando gcloud composer environments run
.