JavaScript in Dataform verwenden

In diesem Dokument erfahren Sie, wie Sie mit JavaScript Workflows in Dataform entwickeln können. In diesem Dokument erfahren Sie auch, wie Sie mit JavaScript Workflowaktionen und JavaScript-Includes erstellen, um Code in Dataform wiederzuverwenden.

Mit Dataform-Core können Sie Workflow-Aktionen mit SQLX und JavaScript erstellen. Die Verwendung von JavaScript zusammen mit SQLX zum wiederholten Erstellen ähnlicher Elemente in Ihrem Workflow ist zwar optional, kann aber hilfreich sein. Mit JavaScript können Sie beispielsweise eine Ansicht jeder Tabelle in Ihrem Workflow erstellen, in der bestimmte Nutzer-IDs entfernt wurden. Sie können Workflow-Aktionen auch ausschließlich mit JavaScript entwickeln.

Hinweis

  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. Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.

Außerdem müssen Sie mit der JavaScript-Syntax und den folgenden JavaScript-Konzepten vertraut sein:

  • Variablen
  • Arrays
  • Bedingte Anweisungen
  • For-Schleifen
  • Maps
  • Funktionen
  • Objekte
  • Module exportieren und importieren

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dataform Editor (roles/dataform.editor) für Arbeitsbereiche zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Entwickeln eines Workflows mit JavaScript und zum Wiederverwenden von Code mit JavaScript-Includes 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.

JavaScript-Code in eine SQLX-Datei einfügen

Sie können einer SQLX-Datei auf zwei Arten JavaScript-Code hinzufügen: inline oder in einem JavaScript-Block.

Sie können einen JavaScript-Block verwenden, um Funktionen oder Konstanten in einer SQLX-Datei zu definieren. Sie können Inline-JavaScript verwenden, um eine SQLX- oder SQL-Abfrage dynamisch zu ändern.

Das folgende Codebeispiel zeigt die integrierte Dataform Core-JavaScript-Funktion self, die inline zum post_operations-Block in einer SQLX-Datei hinzugefügt wurde:

config {type: "table"}

SELECT * FROM ...

post_operations {
  GRANT `roles/bigquery.dataViewer`
  ON
  TABLE ${self()}
  TO "group:allusers@example.com", "user:otheruser@example.com"
}

Im folgenden Codebeispiel wird eine Konstante gezeigt, die in einem JavaScript-Block definiert und inline in einer Abfrage in einer SQLX-Datei verwendet wird:

js {
  const columnName = "foo";
}

SELECT 1 AS ${columnName}