Apache Airflow-DAG in Managed Airflow (Gen 3) ausführen
In dieser Kurzanleitung erfahren Sie, wie Sie eine Managed Service for Apache Airflow-Umgebung erstellen und einen Apache Airflow-DAG in Managed Airflow (Gen 3) ausführen.
Wenn Sie neu bei Airflow sind, finden Sie in der Apache Airflow-Dokumentation die Anleitung zu Airflow-Konzepten. Dort erhalten Sie weitere Informationen zu Airflow-Konzepten, -Objekten und ihrer Verwendung.
Wenn Sie stattdessen die Google Cloud CLI verwenden möchten, lesen Sie den Hilfeartikel Apache Airflow-DAG in Managed Service for Apache Airflow (Google Cloud CLI) ausführen.
Wenn Sie eine Umgebung mit Terraform erstellen möchten, finden Sie weitere Informationen unter Umgebungen erstellen (Terraform).
Hinweis
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 Cloud de Confiance project.
-
Aktivieren Sie die Managed Airflow API, falls sie noch nicht aktiviert ist.
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen -
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen der Kurzanleitung benötigen:
-
So weisen Sie IAM-Rollen und -Berechtigungen zu:
Projekt-IAM-Administrator (
roles/resourcemanager.projectIamAdmin) -
So erstellen Sie ein Dienstkonto für die Managed Airflow-Umgebung:
Dienstkonten erstellen (
roles/iam.serviceAccountCreator) -
So erstellen und verwalten Sie die Managed Airflow-Umgebung:
- Environment and Storage Object Administrator (
roles/composer.environmentAndStorageObjectAdmin) - Service Account User (
roles/iam.serviceAccountUser)
- Environment and Storage Object Administrator (
-
So rufen Sie Logs auf:
Loganzeige (
roles/logging.viewer)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
-
So weisen Sie IAM-Rollen und -Berechtigungen zu:
Projekt-IAM-Administrator (
Dienstkonto für eine Umgebung erstellen
Wenn Sie eine Umgebung erstellen, geben Sie ein Dienstkonto an. Dieses Dienstkonto wird als Dienstkonto der Umgebung bezeichnet. Ihre Umgebung verwendet dieses Dienstkonto, um die meisten Vorgänge auszuführen.
Das Dienstkonto für Ihre Umgebung ist kein Nutzerkonto. Ein Dienstkonto ist ein spezieller Kontotyp, der nicht von einer Person, sondern von einer Anwendung oder einer VM-Instanz verwendet wird.
So erstellen Sie ein Dienstkonto für Ihre Umgebung:
Erstellen Sie ein neues Dienstkonto, wie in der Dokumentation zu Identity and Access Management beschrieben.
Weisen Sie ihm eine Rolle zu, wie in der Dokumentation zu Identity and Access Management beschrieben. Die erforderliche Rolle ist Composer-Worker (
composer.worker).
Umgebung erstellen
Rufen Sie in der Cloud de Confiance Console die Seite Umgebung erstellen auf.
Geben Sie im Feld Name
example-environmentein.Wählen Sie in der Drop-down-Liste Standort eine Region für die Managed Airflow-Umgebung aus. In dieser Anleitung wird die Region
us-central1verwendet.Übernehmen Sie für die anderen Optionen der Umgebungskonfiguration die angegebenen Standardeinstellungen.
Klicken Sie auf Erstellen und warten Sie, bis die Umgebung erstellt wurde.
Wenn der Vorgang abgeschlossen ist, wird neben dem Umgebungsnamen ein grünes Häkchen angezeigt.
DAG-Datei erstellen
Ein Airflow-DAG ist eine Sammlung organisierter Aufgaben, die Sie planen und ausführen möchten. DAGs werden in Standard-Python-Dateien definiert.
In dieser Anleitung wird ein Airflow-Beispiel-DAG verwendet, der in der Datei quickstart.py definiert ist.
Der Python-Code in dieser Datei führt Folgendes aus:
- Erstellt einen DAG,
composer_sample_dag. Dieser DAG wird täglich ausgeführt. - Die Aufgabe
print_dag_run_confwird ausgeführt. Sie gibt mithilfe des bash-Operators die Konfiguration der DAG-Ausführung aus.
Speichern Sie eine Kopie der Datei quickstart.py auf Ihrem lokalen Computer:
DAG-Datei in den Bucket Ihrer Umgebung hochladen
Jede Managed Airflow-Umgebung ist mit einem Cloud Storage-Bucket verknüpft. Airflow in Managed Airflow plant nur DAGs, die sich im Ordner /dags in diesem Bucket befinden.
Wenn Sie den DAG planen möchten, laden Sie quickstart.py von Ihrem lokalen Computer in den Ordner /dags Ihrer Umgebung hoch:
Rufen Sie in der Cloud de Confiance Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung,
example-environment. Die Seite Umgebungsdetails wird geöffnet.Klicken Sie auf DAGs-Ordner öffnen. Die Seite Bucket-Details wird geöffnet.
Klicken Sie auf Dateien hochladen und wählen Sie Ihre Kopie von
quickstart.pyaus.Klicken Sie zum Hochladen der Datei auf Öffnen.
DAG ansehen
Nachdem Sie die DAG-Datei hochgeladen haben, führt Airflow die folgenden Schritte aus:
- Parst die von Ihnen hochgeladene DAG-Datei. Es kann einige Minuten dauern, bis der DAG für Airflow verfügbar ist.
- Fügt den DAG der Liste der verfügbaren DAGs hinzu.
- Führt den DAG gemäß dem Zeitplan aus, den Sie in der DAG-Datei angegeben haben.
Prüfen Sie, ob Ihr DAG fehlerfrei verarbeitet wird und in Airflow verfügbar ist, indem Sie ihn in der DAG-UI aufrufen. Die DAG-Benutzeroberfläche ist die Managed Airflow-Oberfläche zum Aufrufen von DAG-Informationen in der Cloud de Confiance Console. Managed Airflow bietet auch Zugriff auf die Airflow-UI, eine native Airflow-Weboberfläche.
Warten Sie etwa fünf Minuten, damit Airflow die zuvor hochgeladene DAG-Datei verarbeiten und die erste DAG-Ausführung abschließen kann (wird später erläutert).
Rufen Sie in der Cloud de Confiance Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung,
example-environment. Die Seite Umgebungsdetails wird geöffnet.Rufen Sie den Tab DAGs auf.
Prüfen Sie, ob der DAG
composer_quickstartin der Liste der DAGs enthalten ist.
Abbildung 1. The list of DAGs displays the composer_quickstart DAG (click to enlarge)
Details zur DAG-Ausführung ansehen
Eine einzelne Ausführung eines DAG wird als DAG-Ausführung bezeichnet. Airflow führt sofort eine DAG-Ausführung für den Beispiel-DAG aus, da das Startdatum in der DAG-Datei auf gestern festgelegt ist. So holt Airflow den Zeitplan des angegebenen DAG nach.
Der Beispiel-DAG enthält eine Aufgabe, print_dag_run_conf, die den Befehl echo in der Console ausführt. Dieser Befehl gibt Metainformationen zum DAG aus (numerische Kennung der DAG-Ausführung).
Klicken Sie auf dem Tab DAGs auf
composer_quickstart. Der Tab Ausführungen für den DAG wird geöffnet.Klicken Sie in der Liste der DAG-Ausführungen auf den ersten Eintrag.
Abbildung 2. Liste der DAG-Ausführungen für den DAG „composer_quickstart“ (zum Vergrößern anklicken) Die Details zur DAG-Ausführung werden angezeigt, einschließlich der Informationen zu den einzelnen Aufgaben des Beispiel-DAGs.
Abbildung 3. Liste der Aufgaben, die in der DAG-Ausführung ausgeführt wurden (zum Vergrößern klicken) Im Abschnitt Logs für DAG-Ausführung werden Logs für alle Aufgaben in der DAG-Ausführung aufgeführt. Die Ausgabe des Befehls
echowird in den Logs angezeigt.
Abbildung 4. Logs der Aufgabe „print_dag_run_conf“ (zum Vergrößern klicken)
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Cloud de Confiance -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
Löschen Sie die in dieser Anleitung verwendeten Ressourcen:
Löschen Sie die Managed Airflow-Umgebung:
Rufen Sie in der Cloud de Confiance Console die Seite Umgebungen auf.
Wählen Sie
example-environmentaus und klicken Sie auf Löschen.Warten Sie, bis die Umgebung gelöscht ist.
Löschen Sie den Bucket Ihrer Umgebung. Wenn Sie die Managed Airflow-Umgebung löschen, wird der zugehörige Bucket nicht gelöscht.
Wechseln Sie in der Cloud de Confiance Console zur Seite Storage > Browser.
Wählen Sie den Bucket der Umgebung aus und klicken Sie auf Löschen. Dieser Bucket kann beispielsweise
us-central1-example-environ-c1616fe8-bucketheißen.
Nächste Schritte