Ausführungen planen

In diesem Dokument wird beschrieben, wie Sie in Dataform Folgendes tun können:

Hinweise

So planen Sie Ausführungen mit Workflow-Konfigurationen oder planen Ausführungen mit Workflows und Cloud Scheduler:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Wählen Sie ein Repository aus oder erstellen Sie eines.

  3. Erstellen Sie eine Releasekonfiguration.

So planen Sie Ausführungen mit Cloud Composer:

  1. Wählen Sie ein Dataform-Repository aus oder erstellen Sie eines.
  2. Dataform Zugriff auf BigQuery gewähren
  3. Wählen Sie einen Dataform-Arbeitsbereich aus oder erstellen Sie einen.
  4. Erstellen Sie mindestens eine Tabelle.
  5. Erstellen Sie eine Cloud Composer 2-Umgebung.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen der Aufgaben in diesem Dokument benötigen:

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.

Wenn Sie ein anderes Dienstkonto als das Dataform-Standarddienstkonto verwenden möchten, gewähren Sie Zugriff auf das benutzerdefinierte Dienstkonto.

Wenn Sie geplante Ausführungen für eine Workflowkonfiguration aktivieren möchten, wenn der strikte „Act-as“-Modus aktiviert ist, müssen Sie dem Dataform-Dienstkonto die Berechtigung iam.serviceAccounts.actAs für das in der Workflowkonfiguration verwendete Dienstkonto gewähren. Diese Berechtigung ist in der Rolle Dienstkontonutzer (roles/iam.serviceAccountUser) verfügbar.

Wenn Sie beim Erstellen einer Workflowkonfiguration (Vorschau) Google-Konto-Anmeldedaten verwenden möchten, gewähren Sie Zugriff auf das Google-Konto.

Ausführungen mit Workflowkonfigurationen planen

In diesem Abschnitt erfahren Sie, wie Sie eine Workflowkonfiguration in Dataform erstellen, um Workflowläufe zu planen und zu konfigurieren. Mit Workflowkonfigurationen können Sie Dataform-Workflows nach einem Zeitplan ausführen.

Workflowkonfigurationen

Wenn Sie Dataform-Ausführungen aller oder ausgewählter Workflowaktionen in BigQuery planen möchten, können Sie Workflowkonfigurationen erstellen. In einer Workflowkonfiguration wählen Sie eine Konfiguration für die Zusammenstellung von Releases aus, legen Workflowaktionen für die Ausführung fest und legen den Ausführungszeitplan fest.

Bei einer geplanten Ausführung Ihrer Workflowkonfiguration stellt Dataform dann die ausgewählten Aktionen aus dem neuesten Kompilierungsergebnis in Ihrer Releasekonfiguration in BigQuery bereit. Sie können die Ausführung einer Workflow-Konfiguration auch manuell mit der Dataform API workflowConfigs auslösen.

Eine Dataform-Workflowkonfiguration enthält die folgenden Ausführungseinstellungen:

  • ID der Workflowkonfiguration.
  • Releasekonfiguration.
  • Dienstkonto

    Dies ist das Dienstkonto, das der Workflowkonfiguration zugeordnet ist. Sie können das standardmäßige Dataform-Dienstkonto oder ein Dienstkonto auswählen, das mit Ihrem Google Cloud -Projekt verknüpft ist. Alternativ können Sie ein anderes Dienstkonto manuell eingeben. Standardmäßig verwenden Workflowkonfigurationen dieselben Dienstkonten wie ihre Repositories.

    Dienstkonto-Anmeldedaten sind die Standardautorisierungsmethode für die Erstellung und Ausführung von geplanten Workflow-Konfigurationen.

  • Anmeldedaten für Google-Konten (Vorschau)

    Nutzeranmeldedaten für Google-Konten sind die Standardautorisierungsmethode für die manuelle Erstellung und Ausführung von Workflowkonfigurationen, die nicht geplant sind. Weitere Informationen finden Sie unter Google-Konto autorisieren.

  • Auszuführende Workflowaktionen:

    • Alle Aktionen.
    • Auswahl von Aktionen.
    • Auswahl von Tags.
  • Ausführungszeitplan und Zeitzone.

Workflowkonfiguration erstellen

So erstellen Sie eine Dataform-Workflowkonfiguration:

  1. Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
  2. Klicken Sie im Bereich Workflowkonfigurationen auf Erstellen.
  3. Geben Sie im Bereich Workflowkonfiguration erstellen im Feld Konfigurations-ID eine eindeutige ID für die Workflowkonfiguration ein.

    IDs dürfen nur Ziffern, Buchstaben, Bindestriche und Unterstriche enthalten.

  4. Wählen Sie im Menü Releasekonfiguration eine Releasekonfiguration für die Zusammenstellung aus.

  5. Autorisieren Sie im Abschnitt Authentifizierung die Workflowkonfiguration mit den Anmeldedaten Ihres Google-Kontos oder eines Dienstkontos.

    • Wenn Sie die Nutzeranmeldedaten Ihres Google-Kontos verwenden möchten (Vorschau), wählen Sie Mit meinen Nutzeranmeldedaten ausführen aus.
    • Wenn Sie ein Dienstkonto verwenden möchten, wählen Sie Mit ausgewähltem Dienstkonto ausführen aus und wählen Sie dann das Dataform-Standarddienstkonto oder ein beliebiges Dienstkonto aus, das mit IhremGoogle Cloud -Projekt verknüpft ist und auf das Sie Zugriff haben. Wenn Sie kein Dienstkonto auswählen, wird in der Workflowkonfiguration das Dienstkonto des Repositorys verwendet.
  6. Optional: Geben Sie im Feld Häufigkeit des Zeitplans die Häufigkeit der Ausführungen im unix-cron-Format ein.

    Damit Dataform das neueste Kompilierungsergebnis in der entsprechenden Releasekonfiguration ausführt, sollte zwischen dem Zeitpunkt der Erstellung des Kompilierungsergebnisses und dem Zeitpunkt der geplanten Ausführung eine Pause von mindestens einer Stunde liegen.

  7. Optional: Wählen Sie im Menü Zeitzone die Zeitzone für Läufe aus.

    Die Standardzeitzone ist UTC.

  8. Wählen Sie die auszuführenden Workflow-Aktionen aus:

    • Klicken Sie auf Alle Aktionen, um den gesamten Workflow auszuführen.
    • Wenn Sie ausgewählte Aktionen im Workflow ausführen möchten, klicken Sie auf Auswahl von Aktionen und wählen Sie dann die gewünschten Aktionen aus.
    • Wenn Sie Aktionen mit ausgewählten Tags ausführen möchten, klicken Sie auf Auswahl von Tags und wählen Sie dann die gewünschten Tags aus.
    • Optional: Wenn Sie ausgewählte Aktionen oder Tags und ihre Abhängigkeiten ausführen möchten, wählen Sie die Option Include dependencies (Abhängigkeiten einbeziehen) aus.
    • Optional: Wenn Sie ausgewählte Aktionen oder Tags und ihre abhängigen Elemente ausführen möchten, wählen Sie die Option Include dependents (Abhängige Elemente einbeziehen) aus.
    • Optional: Wenn Sie alle Tabellen von Grund auf neu erstellen möchten, wählen Sie die Option Mit vollständiger Aktualisierung ausführen aus.

    Ohne diese Option werden inkrementelle Tabellen durch Dataform aktualisiert, ohne dass sie von Grund auf neu erstellt werden.

  9. Klicken Sie auf Erstellen. Wenn Sie Mit meinen Nutzeranmeldedaten ausführen als Authentifizierungsmethode ausgewählt haben, müssen Sie Ihr Google-Konto autorisieren (Vorschau).

Die folgende Workflowkonfiguration führt beispielsweise Aktionen mit dem Tag hourly stündlich in der Zeitzone CEST aus:

  • Konfigurations-ID: production-hourly
  • Releasekonfiguration: –
  • Häufigkeit: 0 * * * *
  • Zeitzone: Central European Summer Time (CEST)
  • Auswahl von Workflow-Aktionen: Auswahl von Tags, hourly-Tag

Google-Konto autorisieren

Wenn Sie die Ressource mit den Nutzeranmeldedaten Ihres Google-Kontos authentifizieren möchten, müssen Sie BigQuery-Pipelines manuell die Berechtigung erteilen, das Zugriffstoken für Ihr Google-Konto abzurufen und in Ihrem Namen auf die Quelldaten zuzugreifen. Sie können die manuelle Genehmigung über die OAuth-Dialogoberfläche erteilen.

Sie müssen BigQuery-Pipelines nur einmal eine Berechtigung erteilen.

So heben Sie die erteilte Berechtigung auf:

  1. Rufen Sie Ihre Google-Kontoseite auf.
  2. Klicken Sie auf BigQuery-Pipelines.
  3. Klicken Sie auf Zugriff entfernen.

Wenn Sie den Inhaber der Workflowkonfiguration durch Aktualisieren der Anmeldedaten ändern, ist auch eine manuelle Genehmigung erforderlich, falls der neue Google-Kontoinhaber noch nie eine Workflowkonfiguration erstellt hat.

Workflowkonfiguration bearbeiten

So bearbeiten Sie eine Workflow-Konfiguration:

  1. Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
  2. Klicken Sie neben der Workflowkonfiguration, die Sie bearbeiten möchten, auf das Menü  Mehr und dann auf Bearbeiten.
  3. Bearbeiten Sie im Bereich Workflowkonfiguration bearbeiten die Einstellungen der Releasekonfiguration und klicken Sie dann auf Speichern.

Workflowkonfiguration löschen

So löschen Sie eine Workflow-Konfiguration:

  1. Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
  2. Klicken Sie neben der Workflowkonfiguration, die Sie löschen möchten, auf das Menü  Mehr und dann auf Löschen.
  3. Klicken Sie im Dialogfeld Releasekonfiguration löschen auf Löschen.

Ausführungen mit Workflows und Cloud Scheduler planen

In diesem Abschnitt erfahren Sie, wie Sie die Ausführung von Dataform-Workflows mit Workflows und Cloud Scheduler planen.

Geplante Workflowausführungen

Sie können die Häufigkeit Ihrer Dataform-Workflow-Ausführungen festlegen, indem Sie einen Cloud Scheduler-Job erstellen, der einen Workflows-Workflow auslöst. Workflows führt Dienste in einem von Ihnen definierten Orchestrierungsworkflow aus.

Bei Workflows wird Ihr Dataform-Workflow in einem zweistufigen Prozess ausgeführt. Zuerst wird der Code Ihres Dataform-Repositorys von Ihrem Git-Anbieter abgerufen und in ein Kompilierungsergebnis kompiliert. Anschließend wird das Kompilierungsergebnis verwendet, um einen Dataform-Workflow zu erstellen, der mit der von Ihnen festgelegten Häufigkeit ausgeführt wird.

Geplanten Orchestrierungsworkflow erstellen

Wenn Sie Ausführungen Ihres Dataform-Workflows planen möchten, verwenden Sie Workflows, um einen Orchestrierungsworkflow zu erstellen und einen Cloud Scheduler-Job als Trigger hinzuzufügen.

  1. Workflows verwenden Dienstkonten, um Workflows Zugriff aufGoogle Cloud -Ressourcen zu gewähren. Erstellen Sie ein Dienstkonto und weisen Sie ihm Identity and Access Management-Rolle Dataform Editor (roles/dataform.editor) sowie die Mindestberechtigungen zu, die zum Verwalten Ihres Orchestrierungsworkflows erforderlich sind. Weitere Informationen finden Sie unter Zugriff auf Google Cloud -Ressourcen für einen Workflow gewähren.

  2. Orchestrierungs-Workflow erstellen und den folgenden YAML-Quellcode als Workflow-Definition verwenden:

    main:
        steps:
        - init:
            assign:
            - repository: projects/PROJECT_ID/locations/REPOSITORY_LOCATION/repositories/REPOSITORY_ID
        - createCompilationResult:
            call: http.post
            args:
                url: ${"https://dataform.googleapis.com/v1beta1/" + repository + "/compilationResults"}
                auth:
                    type: OAuth2
                body:
                    gitCommitish: GIT_COMMITISH
            result: compilationResult
        - createWorkflowInvocation:
            call: http.post
            args:
                url: ${"https://dataform.googleapis.com/v1beta1/" + repository + "/workflowInvocations"}
                auth:
                    type: OAuth2
                body:
                    compilationResult: ${compilationResult.body.name}
            result: workflowInvocation
        - complete:
            return: ${workflowInvocation.body.name}
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID Ihres Google Cloud Projekts.
    • REPOSITORY_LOCATION: der Speicherort Ihres Dataform-Repositorys.
    • REPOSITORY_ID: der Name Ihres Dataform-Repositorys.
    • GIT_COMMITISH: Der Git-Zweig, aus dem Sie Dataform-Code ausführen möchten. Ersetzen Sie bei einem neu erstellten Repository durch main.
  3. Orchestrierungsworkflow mit Cloud Scheduler planen.

Anfrage zum Erstellen eines Kompilierungsergebnisses für den Dataform-Workflow anpassen

Sie können den vorhandenen Orchestrierungsworkflow aktualisieren und die Einstellungen für die Anfrage zum Erstellen des Dataform-Workflow-Kompilierungsergebnisses im YAML-Format definieren. Weitere Informationen zu den Einstellungen finden Sie in der projects.locations.repositories.compilationResults-REST-Ressourcenreferenz.

Wenn Sie beispielsweise allen Aktionen während der Kompilierung die Einstellung _dev schemaSuffix hinzufügen möchten, ersetzen Sie den createCompilationResult-Schrittkörper durch das folgende Code-Snippet:

    - createCompilationResult:
        call: http.post
        args:
            url: ${"https://dataform.googleapis.com/v1beta1/" + repository + "/compilationResults"}
            auth:
                type: OAuth2
            body:
                gitCommitish: GIT_COMMITISH
                codeCompilationConfig:
                    schemaSuffix: dev

Sie können auch zusätzliche Einstellungen als Laufzeitargumente in einer Anfrage zur Workflowausführung übergeben und mithilfe von Variablen auf diese Argumente zugreifen. Weitere Informationen finden Sie unter Laufzeitargumente in einer Ausführungsanfrage übergeben.

Dataform-Workflow-Aufrufanfrage anpassen

Sie können den vorhandenen Orchestrierungsworkflow aktualisieren und die Einstellungen für die Dataform-Workflow-Aufrufanfrage im YAML-Format definieren. Weitere Informationen zu den Einstellungen für Aufrufanfragen finden Sie in der projects.locations.repositories.workflowInvocations-REST-Ressourcenreferenz.

Wenn Sie beispielsweise nur Aktionen mit dem Tag hourly ausführen möchten, einschließlich aller transitiven Abhängigkeiten, ersetzen Sie den createWorkflowInvocation-Body durch das folgende Code-Snippet:

    - createWorkflowInvocation:
        call: http.post
        args:
            url: ${"https://dataform.googleapis.com/v1beta1/" + repository + "/workflowInvocations"}
            auth:
                type: OAuth2
            body:
                compilationResult: ${compilationResult.body.name}
                invocationConfig:
                    includedTags:
                    - hourly
                    transitiveDependenciesIncluded: true
                

Sie können auch zusätzliche Einstellungen als Laufzeitargumente in einer Anfrage zur Workflowausführung übergeben und mithilfe von Variablen auf diese Argumente zugreifen. Weitere Informationen finden Sie unter Laufzeitargumente in einer Ausführungsanfrage übergeben.

Ausführungen mit Cloud Composer planen

Sie können Cloud Composer 2 verwenden, um Dataform-Ausführungen zu planen. Dataform unterstützt Cloud Composer 1 nicht.

Wenn Sie Zeitpläne für Dataform-Ausführungen mit Cloud Composer 2 verwalten möchten, können Sie Dataform-Operatoren in Airflow-DAGs (Directed Acyclic Graphs, gerichtete azyklische Graphen) verwenden. Sie können einen Airflow-DAG erstellen, mit dem Dataform-Workflow-Aufrufe geplant werden.

Dataform bietet verschiedene Airflow-Operatoren. Dazu gehören Operatoren zum Abrufen eines Kompilierungsergebnisses, zum Abrufen eines Workflow-Aufrufs und zum Abbrechen eines Workflow-Aufrufs. Eine vollständige Liste der verfügbaren Dataform-Airflow-Operatoren finden Sie unter Google Dataform Operators.

google-cloud-dataform-PyPI-Paket installieren

Wenn Sie Cloud Composer 2-Versionen 2.0.25 und höher verwenden, ist dieses Paket in Ihrer Umgebung vorinstalliert. Sie müssen ihn nicht installieren.

Wenn Sie frühere Versionen von Cloud Composer 2 verwenden, installieren Sie das PyPI-Paket google-cloud-dataform.

Geben Sie im Abschnitt „PyPI-Pakete“ die Version ==0.2.0 an.

Airflow-DAG erstellen, mit dem Dataform-Workflow-Aufrufe geplant werden

Wenn Sie geplante Ausführungen von Dataform-Workflows mit Cloud Composer 2 verwalten möchten, schreiben Sie die DAG mit Dataform-Airflow-Operatoren und laden Sie sie dann in den Bucket Ihrer Umgebung hoch.

Das folgende Codebeispiel zeigt einen Airflow-DAG, der ein Dataform-Kompilierungsergebnis erstellt und einen Dataform-Workflow-Aufruf startet:

from datetime import datetime

from airflow import models
from airflow.models.baseoperator import chain
from airflow.providers.google.cloud.operators.dataform import (
    DataformCreateCompilationResultOperator,
    DataformCreateWorkflowInvocationOperator,
)

DAG_ID = "dataform"
PROJECT_ID = "PROJECT_ID"
REPOSITORY_ID = "REPOSITORY_ID"
REGION = "REGION"
GIT_COMMITISH = "GIT_COMMITISH"

with models.DAG(
    DAG_ID,
    schedule_interval='@once',  # Override to match your needs
    start_date=datetime(2022, 1, 1),
    catchup=False,  # Override to match your needs
    tags=['dataform'],
) as dag:

    create_compilation_result = DataformCreateCompilationResultOperator(
        task_id="create_compilation_result",
        project_id=PROJECT_ID,
        region=REGION,
        repository_id=REPOSITORY_ID,
        compilation_result={
            "git_commitish": GIT_COMMITISH,
        },
    )
    create_workflow_invocation = DataformCreateWorkflowInvocationOperator(
        task_id='create_workflow_invocation',
        project_id=PROJECT_ID,
        region=REGION,
        repository_id=REPOSITORY_ID,
         workflow_invocation={
            "compilation_result": "{{ task_instance.xcom_pull('create_compilation_result')['name'] }}"
        },
    )


create_compilation_result >> create_workflow_invocation

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Dataform Google Cloud -Projekt-ID.
  • REPOSITORY_ID: der Name Ihres Dataform-Repositorys.
  • REGION: die Region, in der sich das Dataform-Repository befindet.
  • COMPILATION_RESULT: Der Name des Kompilierungsergebnisses, das Sie für diesen Workflow-Aufruf verwenden möchten.
  • GIT_COMMITISH: Der Git-Commitish im Remote-Git-Repository der Version Ihres Codes, die Sie verwenden möchten, z. B. ein Branch oder ein Git-SHA.

Das folgende Codebeispiel zeigt einen Airflow-DAG, der Folgendes ausführt:

  1. Erstellt ein Dataform-Kompilierungsergebnis.
  2. Startet einen asynchronen Dataform-Workflowaufruf.
  3. Fragt den Status Ihres Workflows ab, bis er den erwarteten Status erreicht hat. Dazu wird DataformWorkflowInvocationStateSensor verwendet.
from datetime import datetime

from google.cloud.dataform_v1beta1 import WorkflowInvocation

from airflow import models
from airflow.models.baseoperator import chain
from airflow.providers.google.cloud.operators.dataform import (
    DataformCreateCompilationResultOperator,
    DataformCreateWorkflowInvocationOperator,
)
from airflow.providers.google.cloud.sensors.dataform import DataformWorkflowInvocationStateSensor

DAG_ID = "dataform"
PROJECT_ID = "PROJECT_ID"
REPOSITORY_ID = "REPOSITORY_ID"
REGION = "REGION"
GIT_COMMITISH = "GIT_COMMITISH"

with models.DAG(
    DAG_ID,
    schedule_interval='@once',  # Override to match your needs
    start_date=datetime(2022, 1, 1),
    catchup=False,  # Override to match your needs
    tags=['dataform'],
) as dag:

    create_compilation_result = DataformCreateCompilationResultOperator(
        task_id="create_compilation_result",
        project_id=PROJECT_ID,
        region=REGION,
        repository_id=REPOSITORY_ID,
        compilation_result={
            "git_commitish": GIT_COMMITISH,
        },
    )

create_workflow_invocation = DataformCreateWorkflowInvocationOperator(
    task_id='create_workflow_invocation',
    project_id=PROJECT_ID,
    region=REGION,
    repository_id=REPOSITORY_ID,
    asynchronous=True,
    workflow_invocation={
        "compilation_result": COMPILATION_RESULT
    }
)

is_workflow_invocation_done = DataformWorkflowInvocationStateSensor(
    task_id="is_workflow_invocation_done",
    project_id=PROJECT_ID,
    region=REGION,
    repository_id=REPOSITORY_ID,
    workflow_invocation_id=("{{ task_instance.xcom_pull('create_workflow_invocation')['name'].split('/')[-1] }}"),
    expected_statuses={WorkflowInvocation.State.SUCCEEDED},
)


create_compilation_result >> create_workflow_invocation

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Dataform Google Cloud -Projekt-ID.
  • REPOSITORY_ID: der Name Ihres Dataform-Repositorys.
  • REGION: die Region, in der sich das Dataform-Repository befindet.
  • COMPILATION_RESULT: Der Name des Kompilierungsergebnisses, das Sie für diesen Workflow-Aufruf verwenden möchten.
  • GIT_COMMITISH: Der Git-Commitish im Remote-Git-Repository der Version Ihres Codes, die Sie verwenden möchten, z. B. ein Branch oder ein Git-SHA.
  • COMPILATION_RESULT: Der Name des Kompilierungsergebnisses, das Sie für diesen Workflow-Aufruf verwenden möchten.

Kompilierungskonfigurationsparameter hinzufügen

Sie können dem Airflow-DAG-Objekt create_compilation_result zusätzliche Parameter für die Kompilierungskonfiguration hinzufügen. Weitere Informationen zu den verfügbaren Parametern finden Sie in der CodeCompilationConfig Dataform API-Referenz.

  • Wenn Sie dem Airflow-DAG-Objekt create_compilation_result Parameter für die Kompilierung hinzufügen möchten, fügen Sie die ausgewählten Parameter im folgenden Format dem Feld code_compilation_config hinzu:

        create_compilation_result = DataformCreateCompilationResultOperator(
            task_id="create_compilation_result",
            project_id=PROJECT_ID,
            region=REGION,
            repository_id=REPOSITORY_ID,
            compilation_result={
                "git_commitish": GIT_COMMITISH,
                "code_compilation_config": { "PARAMETER": "PARAMETER_VALUE"}
            },
        )
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Ihre Dataform Google Cloud -Projekt-ID.
    • REPOSITORY_ID: der Name Ihres Dataform-Repositorys.
    • REGION: die Region, in der sich das Dataform-Repository befindet.
    • GIT_COMMITISH: Der Git-Commitish im Remote-Git-Repository der Version Ihres Codes, die Sie verwenden möchten, z. B. ein Branch oder ein Git-SHA.
    • PARAMETER: der ausgewählte Parameter CodeCompilationConfig. Sie können mehrere Parameter hinzufügen.
    • PARAMETER_VALUE: Der Wert des ausgewählten Parameters.

Das folgende Codebeispiel zeigt den Parameter defaultDatabase, der dem Airflow-DAG-Objekt create_compilation_result hinzugefügt wurde:

    create_compilation_result = DataformCreateCompilationResultOperator(
        task_id="create_compilation_result",
        project_id=PROJECT_ID,
        region=REGION,
        repository_id=REPOSITORY_ID,
        compilation_result={
            "git_commitish": REMOTE_BRANCH,
            "code_compilation_config": { "default_database": "my-custom-gcp-project"}
        },
    )

Parameter für die Workflow-Aufrufkonfiguration hinzufügen

Sie können dem Airflow-DAG-Objekt create_workflow_invocation zusätzliche Konfigurationsparameter für den Workflow-Aufruf hinzufügen. Weitere Informationen zu den verfügbaren Parametern finden Sie in der InvocationConfig Dataform API-Referenz.

  • Wenn Sie dem Airflow-DAG-Objekt create_workflow_invocation Konfigurationsparameter für den Workflow-Aufruf hinzufügen möchten, fügen Sie die ausgewählten Parameter im folgenden Format dem Feld invocation_config hinzu:

        create_workflow_invocation = DataformCreateWorkflowInvocationOperator(
            task_id='create_workflow_invocation',
            project_id=PROJECT_ID,
            region=REGION,
            repository_id=REPOSITORY_ID,
            workflow_invocation={
                "compilation_result": "{{ task_instance.xcom_pull('create_compilation_result')['name'] }}",
                "invocation_config": { "PARAMETER": PARAMETER_VALUE }
            },
        )
    
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Ihre Dataform Google Cloud -Projekt-ID.
    • REPOSITORY_ID: der Name Ihres Dataform-Repositorys.
    • REGION: die Region, in der sich das Dataform-Repository befindet.
    • PARAMETER: der ausgewählte Parameter InvocationConfig. Sie können mehrere Parameter hinzufügen.
    • PARAMETER_VALUE: Der Wert des ausgewählten Parameters.

Das folgende Codebeispiel zeigt die Parameter includedTags[] und transitiveDependenciesIncluded, die dem Airflow-DAG-Objekt create_workflow_invocation hinzugefügt wurden:

    create_workflow_invocation = DataformCreateWorkflowInvocationOperator(
        task_id='create_workflow_invocation',
        project_id=PROJECT_ID,
        region=REGION,
        repository_id=REPOSITORY_ID,
        workflow_invocation={
            "compilation_result": "{{ task_instance.xcom_pull('create_compilation_result')['name'] }}",
            "invocation_config": { "included_tags": ["daily"], "transitive_dependencies_included": true }
        },
    )

Nächste Schritte