Dieses Dokument enthält Anleitungen für folgende Aufgaben:
- JavaScript-Paket in einem Dataform-Repository installieren
- Ein privates NPM-Paket authentifizieren, damit es in einem Repository installiert werden kann.
- Benutzerdefiniertes JavaScript-Paket erstellen, mit dem Sie Workflows entwickeln können
Hinweis
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Führen Sie einen oder beide der folgenden Schritte aus:
- So installieren Sie ein Paket in einem Repository oder authentifizieren ein privates NPM-Paket, um die Installation zu ermöglichen:
- Wählen Sie ein Repository aus oder erstellen Sie eines.
- Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.
- Optional: Wenn Sie ein privates Paket installieren möchten, authentifizieren Sie das private Paket.
- Wenn Ihr Repository keine
package.json-Datei enthält, erstellen Siepackage.jsonund verschieben Sie das Dataform Core-Paket.
- So erstellen Sie ein Paket:
- Erstellen Sie ein Dataform-Repository, das speziell für Ihr Paket vorgesehen ist. Der Repository-Name muss mit dem Namen Ihres Pakets übereinstimmen.
- Verbinden Sie das Repository mit einem Drittanbieter-Git-Repository, in dem Ihr Paket gehostet wird.
- Arbeitsbereich im Dataform-Repository erstellen und initialisieren
- So installieren Sie ein Paket in einem Repository oder authentifizieren ein privates NPM-Paket, um die Installation zu ermöglichen:
Prüfen Sie, ob Sie die erforderlichen Berechtigungen haben, um die Aufgaben in diesem Dokument ausführen zu können.
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:
- Dataform-Bearbeiter (
roles/dataform.editor) für Arbeitsbereiche und Repositories - Dataform-Administrator (
roles/dataform.admin) für Repositories
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.
Paket installieren
In diesem Abschnitt wird gezeigt, wie Sie ein JavaScript-Paket installieren und in eine JavaScript-Datei und eine SQLX-Datei importieren, damit Sie das Paket zum Entwickeln von Workflows in Dataform verwenden können.
Wenn Sie ein Paket in Dataform verwenden möchten, müssen Sie es in Ihrem Repository installieren.
Sie können die folgenden Arten von Paketen in Dataform installieren:
- Veröffentlichte öffentliche NPM-Pakete
- Nicht veröffentlichte öffentliche NPM-Pakete
- Authentifizierte private NPM-Pakete
Wenn Sie das Paket dann in einer JavaScript- oder SQLX-Datei verwenden möchten, müssen Sie ausgewählte Inhalte des Pakets in die Datei importieren. Sie können auch ein ganzes Paket in eine JavaScript- oder SQLX-Datei importieren, anstatt nur den ausgewählten Inhalt.
So vermeiden Sie Probleme bei der Paketinstallation in Ihrer Produktionsumgebung:
Geben Sie die Paketversion explizit in
package.jsonan, z. B.3.0.0. Verwenden Sie keine anderendependencies-Optionen vonpackage.json, z. B.>version.Testen Sie neue Paketversionen in einer Nicht-Produktionsumgebung. Weitere Informationen zum Konfigurieren verschiedener Umgebungen für den Workflow-Lebenszyklus finden Sie unter Best Practices für den Workflow-Lebenszyklus.
Paket als Abhängigkeit hinzufügen
Wenn Sie ein Paket in einem Dataform-Repository installieren möchten, müssen Sie es als Abhängigkeit in der Datei package.json hinzufügen:
- Wählen Sie in Ihrem Arbeitsbereich im Bereich Dateien die Option
package.jsonaus. Fügen Sie das Paket dem
dependencies-Block hinzu:Fügen Sie ein veröffentlichtes öffentliches NPM-Paket im folgenden Format hinzu:
"PACKAGE-NAME": "PACKAGE-VERSION"Ersetzen Sie Folgendes:
- PACKAGE-NAME durch den Namen des Pakets.
- PACKAGE-VERSION mit der neuesten Version des veröffentlichten öffentlichen NPM-Pakets. Um Probleme bei der Paketinstallation zu vermeiden, geben Sie die Version explizit an, z. B.
3.0.0.
Fügen Sie ein nicht veröffentlichtes öffentliches NPM-Paket im folgenden Format hinzu:
"PACKAGE-NAME": "PACKAGE-URL"Ersetzen Sie Folgendes:
- PACKAGE-NAME durch den Namen des Pakets.
- PACKAGE-URL durch die
tar.gz-URL des Drittanbieter-Paket-Repositorys, z. B.https://github.com/user/sample-package-repository/archive/master.tar.gz.
Fügen Sie ein authentifiziertes privates NPM-Paket im folgenden Format hinzu:
"REGISTRY-SCOPE/PACKAGE-NAME": "PACKAGE-URL"Ersetzen Sie Folgendes:
- REGISTRY-SCOPE durch den Namen des Pakets.
REGISTRY-SCOPE muss mit dem in der Datei
.npmrcin Ihrem Repository definierten Registry-Bereich übereinstimmen. - PACKAGE-NAME durch den Namen des Pakets.
- PACKAGE-URL durch die
tar.gz-URL des Paket-Repositorys, z. B.https://github.com/user/sample-package-repository/archive/master.tar.gz.
- REGISTRY-SCOPE durch den Namen des Pakets.
REGISTRY-SCOPE muss mit dem in der Datei
Klicken Sie auf Pakete installieren.
Führen Sie einen Commit durch und übertragen Sie die Änderungen.
Das folgende Codebeispiel zeigt das öffentliche Open-Source-Paket „Slowly changing dimensions“, das der Datei .package.json hinzugefügt wurde:
```json
{
"name": "repository-name",
"dependencies": {
"@dataform/core": "2.0.3",
"dataform-scd": "https://github.com/dataform-co/dataform-scd/archive/0.3.tar.gz"
}
}
```
Paketfunktion oder ‑konstante in eine JavaScript-Datei in Dataform importieren
Wenn Sie eine Funktion oder eine Konstante aus einem Paket in einer JavaScript-Datei in Dataform verwenden möchten, müssen Sie sie zuerst in die Datei importieren.
So importieren Sie eine Funktion oder eine Konstante aus einem Paket in eine JavaScript-Datei:
- Wählen Sie in Ihrem Arbeitsbereich im Bereich Dateien eine
.js-Datei aus, in der Sie das Paket verwenden möchten. Importieren Sie in der Datei eine Funktion oder eine Konstante im folgenden Format:
const { EXPORT-NAME } = require("PACKAGE-NAME");- Ersetzen Sie EXPORT-NAME durch den Namen der Funktion oder Konstante, die Sie verwenden möchten und die in
module.exportsin der Paketdateiindex.jsdeklariert ist. - Ersetzen Sie PACKAGE-NAME durch den Namen des Pakets, das Sie verwenden möchten.
- Ersetzen Sie EXPORT-NAME durch den Namen der Funktion oder Konstante, die Sie verwenden möchten und die in
Führen Sie einen Commit durch und übertragen Sie die Änderungen.
Das folgende Codebeispiel zeigt die Funktion