Wenn Sie ein Paket in Dataform verwenden möchten, müssen Sie es in Ihrem Repository installieren.
Sie können die folgenden Pakettypen in Dataform installieren:
- Öffentliche NPM-Pakete wurden veröffentlicht.
- Nicht veröffentlichte öffentliche NPM-Pakete.
- Authentifizierte private NPM-Pakete.
Um das Paket dann in einer JavaScript- oder SQLX-Datei zu verwenden, müssen Sie ausgewählten Inhalt des Pakets in der Datei. Sie können auch eine ganze in eine JavaScript- oder SQLX-Datei anstatt in eine JavaScript- oder SQLX-Datei zu laden.
Um Probleme bei der Paketinstallation in der Produktionsumgebung zu vermeiden, empfehlen wir Folgendes:
Geben Sie die Paketversion explizit an in
package.json
, z. B.3.0.0
. Keine anderendependencies
Optionen vonpackage.json
, z. B.>version
.Neue Paketversionen in einer Nicht-Produktionsumgebung testen Weitere Informationen zum Konfigurieren verschiedener Umgebungen für den Codelebenszyklus finden Sie unter Codelebenszyklus verwalten
Hinweise
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie ein Repository aus oder erstellen Sie ein Repository.
Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.
Wenn Ihr Repository keine
package.json
-Datei enthält, Erstellen Siepackage.json
und verschieben Sie das Dataform-Kernpaket.Optional: Um ein privates Paket zu installieren, Privates Paket authentifizieren.
Erforderliche Rollen
Um die Berechtigungen zu erhalten, die Sie zum Installieren eines Pakets benötigen,
bitten Sie Ihren Administrator, Ihnen
IAM-Rolle Dataform Editor (roles/dataform.editor
) für Arbeitsbereiche.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Paket installieren
Um ein Paket in einem Dataform-Repository zu installieren, müssen Sie
Fügen Sie dies als Abhängigkeit in der Datei package.json
hinzu.
So fügen Sie ein Paket als Abhängigkeit in die Datei package.json
ein:
- Wählen Sie in Ihrem Arbeitsbereich im Bereich Dateien
package.json
aus. Fügen Sie das Paket dem Block
dependencies
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 durch die neueste Version des
ein veröffentlichtes
öffentliches NPM-Paket. Um Probleme bei der Paketinstallation zu vermeiden,
explizit die Version 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 Drittanbieters Paket-Repository, 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 Registry-Bereich übereinstimmen
in Ihrem Repository in der Datei
.nmprc
definiert. - PACKAGE-NAME durch den Namen des Pakets.
- PACKAGE-URL durch die
tar.gz
-URL des Pakets z. B. ein Repository,https://github.com/user/sample-package-repository/archive/master.tar.gz
- REGISTRY-SCOPE durch den Namen des Pakets.
REGISTRY-SCOPE muss mit dem Registry-Bereich übereinstimmen
in Ihrem Repository in der Datei
Klicken Sie auf Pakete installieren.
Commit und Ihre Änderungen übertragen.
Das folgende Codebeispiel zeigt die öffentliche Open-Source-
Das Paketpaket mit sich langsam ändernden Dimensionen wurde der Datei .package.json
hinzugefügt:
```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
Um eine Funktion oder eine Konstante aus einem Paket in einer JavaScript-Datei in Dataform müssen Sie es zuerst in die Datei importieren.
Um eine Funktion oder Konstante aus einem Paket in eine JavaScript-Datei zu importieren, führen Sie folgende Schritte aus:
- Wählen Sie im Arbeitsbereich im Bereich Dateien eine
.js
-Datei aus, in der das Sie 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, in
module.exports
im Paketindex.js
. - Ersetzen Sie PACKAGE-NAME durch den Namen von das Sie verwenden möchten.
- Ersetzen Sie EXPORT-NAME durch den Namen der Funktion oder
Konstante, die Sie verwenden möchten, in
Commit und Ihre Änderungen übertragen.
Das folgende Codebeispiel zeigt die Funktion getDomain
aus dem
postoffice
-Paket wurde importiert und in einer JavaScript-Datei verwendet:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
const { getDomain } = require("postoffice");
getDomain();
Ganzes Paket in eine JavaScript-Datei in Dataform importieren
Um das gesamte Paket in eine JavaScript-Datei zu importieren, anstatt es zu importieren ausgewählten Funktionen oder Konstanten zu einer JavaScript-Datei hinzufügen, gehen Sie folgendermaßen vor:
- Wählen Sie in Ihrem Arbeitsbereich im Bereich Dateien eine
.js
-Datei in das Sie für das Paket verwenden möchten. Importieren Sie das Paket in der Datei im folgenden Format:
const CONSTANT-NAME = require("PACKAGE-NAME");
- Ersetzen Sie CONSTANT-NAME durch einen Namen für die Konstante.
- Ersetzen Sie PACKAGE-NAME durch den Namen des Pakets. die Sie verwenden möchten.
Commit und Ihre Änderungen übertragen.
Das folgende Codebeispiel zeigt die Funktion getDomain
aus dem
importiertes postoffice
-Paket, das in einer JavaScript-Datei verwendet wird:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
const postoffice = require("postoffice");
postoffice.getDomain();
Paketfunktion oder -konstante in eine SQLX-Datei in Dataform importieren
Um eine Funktion oder eine Konstante aus einem Paket in einer SQLX-Datei zu verwenden, müssen Sie sie zuerst in die Datei importieren.
Um eine Funktion oder Konstante aus einem Paket in eine SQLX-Datei zu importieren, führen Sie folgende Schritte aus:
- Wählen Sie in Ihrem Arbeitsbereich im Bereich Dateien eine
.sqlx
-Datei aus. in dem Sie das Paket verwenden möchten. Geben Sie in der Datei den folgenden
js
-Block ein:js { const { EXPORT-NAME } = require("PACKAGE-NAME"); }
- Ersetzen Sie EXPORT-NAME durch den Namen der Funktion.
oder Konstante, die Sie verwenden möchten, in
module.exports
deklariert in der Dateiindex.js
. - Ersetzen Sie PACKAGE-NAME durch den Namen des Pakets. die Sie verwenden möchten.
- Ersetzen Sie EXPORT-NAME durch den Namen der Funktion.
oder Konstante, die Sie verwenden möchten, in
Commit und Ihre Änderungen übertragen.
Das folgende Codebeispiel zeigt die Funktion getDomain
aus dem
postoffice
-Paket wurde in einem js
-Block importiert und in einem verwendet:
SELECT
in einer SQLX-Datei:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
config {
type: "table",
}
js {
const { getDomain } = require("postoffice");
}
SELECT ${getDomain("email")} as test
Ganzes Paket in eine SQLX-Datei in Dataform importieren
Um das gesamte Paket in eine SQLX-Datei zu importieren, anstatt es zu importieren ausgewählten Funktionen oder Konstanten zu einer JavaScript-Datei hinzufügen, gehen Sie folgendermaßen vor:
- Wählen Sie in Ihrem Arbeitsbereich im Bereich Dateien eine
.sqlx
-Datei aus. in dem Sie das Paket verwenden möchten. Importieren Sie das Paket in der Datei im folgenden Format:
js { const CONSTANT-NAME = require("PACKAGE-NAME"); }
- Ersetzen Sie CONSTANT-NAME durch einen Namen für die Konstante.
- Ersetzen Sie PACKAGE-NAME durch den Namen des Pakets. die Sie verwenden möchten.
Commit und Ihre Änderungen übertragen.
Im folgenden Codebeispiel sehen Sie, wie das Paket postoffice
importiert wird in
js
-Block und seine getDomain
-Funktion in einem
SELECT
in einer SQLX-Datei:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
config {
type: "table",
}
js {
const postoffice = require("postoffice");
}
SELECT ${postoffice.getDomain("email")} as test
Nächste Schritte
- Informationen zum Authentifizieren eines privaten NPM-Pakets in Dataform finden Sie unter Privates Paket in Dataform authentifizieren
- Informationen zum Verwalten des erforderlichen Dataform-Kernpakets finden Sie unter Dataform-Kernpaket verwalten
- Informationen zum Erstellen eines eigenen Pakets in Dataform finden Sie unter Paket in Dataform erstellen
- Informationen zur Verwendung eines Open-Source-Pakets in Dataform finden Sie unter Sich langsam ändernde Dimensionen in Dataform verwenden