Eseguire un DAG di Apache Airflow in Managed Airflow (terza generazione)
Managed Airflow (terza generazione) | Managed Airflow (seconda generazione) | Managed Airflow (prima generazione legacy)
Questa guida rapida mostra come creare un ambiente Managed Service for Apache Airflow ed eseguire un DAG di Apache Airflow in Managed Airflow (terza generazione).
Se non hai mai utilizzato Airflow, consulta il tutorial sui concetti di Airflow nella documentazione di Apache Airflow per saperne di più sui concetti, sugli oggetti e sul loro utilizzo di Airflow.
Se vuoi utilizzare Google Cloud CLI, consulta Eseguire un DAG di Apache Airflow in Managed Service for Apache Airflow (Google Cloud CLI).
Se vuoi creare un ambiente utilizzando Terraform, consulta Creare ambienti (Terraform).
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Abilita l'API Managed Airflow.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli. -
Per ottenere le autorizzazioni necessarie per completare questa guida rapida, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto:
-
Per assegnare ruoli e autorizzazioni IAM:
Amministratore IAM progetto (
roles/resourcemanager.projectIamAdmin) -
Per creare un account di servizio per l'ambiente Managed Airflow:
Crea service account (
roles/iam.serviceAccountCreator) -
Per visualizzare, creare e gestire l'ambiente Managed Airflow:
-
Amministratore ambiente e oggetti Storage (
roles/composer.environmentAndStorageObjectAdmin) -
Utente Service Account (
roles/iam.serviceAccountUser)
-
Amministratore ambiente e oggetti Storage (
-
Per visualizzare i log:
Visualizzatore log (
roles/logging.viewer)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
-
Per assegnare ruoli e autorizzazioni IAM:
Amministratore IAM progetto (
Creare il account di servizio di un ambiente
Quando crei un ambiente, devi specificare un account di servizio. Questo service account è chiamato service account dell'ambiente. L'ambiente utilizza questo account di servizio per eseguire la maggior parte delle operazioni.
Il account di servizio per l'ambiente non è un account utente. Un account di servizio è un particolare tipo di account utilizzato da un'applicazione o da un'istanza di macchina virtuale (VM), non da una persona.
Per creare un account di servizio per l'ambiente:
Crea un nuovo service account, come descritto in la documentazione di Identity and Access Management.
Concedi un ruolo, come descritto nella documentazione di Identity and Access Management. Il ruolo richiesto è Worker Composer (
composer.worker).
Creare un ambiente
Nellaconsole, vai alla pagina Crea ambiente. Google Cloud
Nel campo Nome, inserisci
example-environment.Nell'elenco a discesa Località, seleziona una regione per l'ambiente Managed Airflow. Questa guida utilizza la regione
us-central1.Per le altre opzioni di configurazione dell'ambiente, utilizza le impostazioni predefinite fornite.
Fai clic su Crea e attendi la creazione dell'ambiente.
Al termine, accanto al nome dell'ambiente viene visualizzato un segno di spunta verde.
Creare un file DAG
Un DAG di Airflow è una raccolta di attività organizzate che vuoi pianificare ed eseguire. I DAG sono definiti in file Python standard.
Questa guida utilizza un DAG di Airflow di esempio definito nel file quickstart.py.
Il codice Python in questo file esegue le seguenti operazioni:
- Crea un DAG,
composer_sample_dag. Questo DAG viene eseguito ogni giorno. - Esegue un'attività,
print_dag_run_conf. L'attività stampa la configurazione dell'esecuzione del DAG utilizzando l'operatore bash.
Salva una copia del file quickstart.py sulla macchina locale:
Caricare il file DAG nel bucket dell'ambiente
Ogni ambiente Managed Airflow ha un bucket Cloud Storage associato. Airflow in Managed Airflow pianifica solo i DAG che si trovano nella cartella /dags di questo bucket.
Per pianificare il DAG, carica quickstart.py dalla macchina locale alla cartella /dags dell'ambiente:
Nellaconsole, vai alla pagina Ambienti. Google Cloud
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente,
example-environment. Si apre la pagina Dettagli ambiente.Fai clic su Apri cartella DAG. Si apre la pagina Dettagli bucket.
Fai clic su Carica file e seleziona la tua copia di
quickstart.py.Per caricare il file, fai clic su Apri.
Visualizzare il DAG
Dopo aver caricato il file DAG, Airflow esegue le seguenti operazioni:
- Analizza il file DAG che hai caricato. Potrebbero essere necessari alcuni minuti prima che il DAG diventi disponibile per Airflow.
- Aggiunge il DAG all'elenco dei DAG disponibili.
- Esegue il DAG in base alla pianificazione fornita nel file DAG.
Verifica che il DAG venga elaborato senza errori e che sia disponibile in Airflow visualizzandolo nell'interfaccia utente DAG. L'interfaccia utente DAG è l'interfaccia Managed Airflow per visualizzare le informazioni sui DAG in Google Cloud console. Managed Airflow fornisce anche l'accesso all'interfaccia utente di Airflow, che è un'interfaccia web di Airflow nativa.
Attendi circa cinque minuti per consentire ad Airflow di elaborare il file DAG che hai caricato in precedenza e di completare la prima esecuzione del DAG (spiegata più avanti).
Nellaconsole, vai alla pagina Ambienti. Google Cloud
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente,
example-environment. Si apre la pagina Dettagli ambiente.Vai alla scheda DAG.
Verifica che il DAG
composer_quickstartsia presente nell'elenco dei DAG.
Figura 1. L'elenco dei DAG mostra il DAG composer_quickstart (fai clic per ingrandire)
Visualizzare i dettagli dell'esecuzione del DAG
Una singola esecuzione di un DAG è chiamata esecuzione del DAG. Airflow esegue immediatamente un'esecuzione del DAG di esempio perché la data di inizio nel file DAG è impostata su ieri. In questo modo, Airflow recupera la pianificazione del DAG specificato.
Il DAG di esempio contiene un'attività, print_dag_run_conf, che esegue il comando echo nella console. Questo comando restituisce i metadati del DAG (l'identificatore numerico dell'esecuzione del DAG).
Nella scheda DAG, fai clic su
composer_quickstart. Si apre la scheda Esecuzioni per il DAG.Nell'elenco delle esecuzioni del DAG, fai clic sulla prima voce.
Figura 2. L'elenco delle esecuzioni del DAG per il DAG composer_quickstart (fai clic per ingrandire) Vengono visualizzati i dettagli dell'esecuzione del DAG, che forniscono informazioni sulle singole attività del DAG di esempio.
Figura 3. L'elenco delle attività eseguite nell'esecuzione del DAG (fai clic per ingrandire) La sezione Log per l'esecuzione del DAG elenca i log per tutte le attività nell'esecuzione del DAG. Puoi visualizzare l'output del comando
echonei log.
Figura 4. Log dell'attività print_dag_run_conf (fai clic per ingrandire)
Libera spazio
Per evitare che al tuo Google Cloud account vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
Elimina le risorse utilizzate in questo tutorial:
Elimina l'ambiente Managed Airflow:
Nellaconsole, vai alla pagina Ambienti. Google Cloud
Seleziona
example-environmente fai clic su Elimina.Attendi l'eliminazione dell'ambiente.
Elimina il bucket dell'ambiente. L'eliminazione dell'ambiente Managed Airflow non comporta l'eliminazione del relativo bucket.
Nellaconsole, vai alla pagina Storage > Browser. Google Cloud
Seleziona il bucket dell'ambiente e fai clic su Elimina. Ad esempio, questo bucket può essere denominato
us-central1-example-environ-c1616fe8-bucket.
Passaggi successivi