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 den ausgewählten Inhalt des Pakets in die Datei importieren. Sie können auch anstelle des ausgewählten Inhalts ein ganzes Paket in eine JavaScript- oder SQLX-Datei importieren.
Hinweise
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie ein Repository aus oder erstellen Sie ein Repository.
Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.
[Optional] Zum Installieren eines privaten Pakets müssen Sie das private Paket authentifizieren.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dataform-Bearbeiter (roles/dataform.editor
) für Arbeitsbereiche zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Importieren eines Pakets benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen anfordern.
Paket in einem Dataform-Repository installieren
Wenn Sie ein Paket in einem Dataform-Repository installieren möchten, müssen Sie es als Abhängigkeit in die Datei package.json
einfügen. Das Format der Abhängigkeitsdefinition in der Datei package.json
hängt vom Typ des Pakets ab.
So installieren Sie ein Paket in einem Dataform-Repository:
- Wählen Sie im Arbeitsbereich im Bereich Dateien die Option
package.json
aus. 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 durch die neueste Version des veröffentlichten öffentlichen NPM-Pakets.
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 Paketpakets eines Drittanbieters, 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 dem Registrierungsbereich entsprechen, der in der Datei
.nmprc
in Ihrem Repository definiert ist. - 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 dem Registrierungsbereich entsprechen, der in der Datei
Klicken Sie auf Install package (Pakete installieren).
Commit durchführen und übertragen Sie die Änderungen.
Das folgende Codebeispiel zeigt das öffentliche Open-Source-Paketpaket für Dimensionen, das sich langsam ändert, der Datei .package.json
hinzugefügt:
```
{
"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 Dataform 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 im Arbeitsbereich im Bereich Dateien eine
.js
-Datei aus, in der Sie das Paket verwenden möchten. Importieren Sie in die 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, angegeben in
module.exports
in der Paketdateiindex.js
. - 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, angegeben in
Commit durchführen und übertragen Sie die Änderungen.
Das folgende Codebeispiel zeigt die Funktion getDomain
aus dem Paket postoffice
, das in eine JavaScript-Datei importiert und verwendet wurde:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
const { getDomain } = require("postoffice");
getDomain();
Ganzes Paket in eine JavaScript-Datei in Dataform importieren
So importieren Sie das gesamte Paket in eine JavaScript-Datei, anstatt ausgewählte Funktionen oder Konstanten in eine JavaScript-Datei zu importieren:
- Wählen Sie im Arbeitsbereich im Bereich Dateien eine
.js
-Datei aus, in der Sie das Paket verwenden möchten. Importieren Sie das Paket 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, das Sie verwenden möchten.
Commit durchführen und übertragen Sie die Änderungen.
Das folgende Codebeispiel zeigt die Funktion getDomain
aus dem importierten 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 DataX-Datei in Dataform importieren
Wenn Sie eine Funktion oder eine Konstante aus einem Paket in einer SQLX-Datei 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 SQLX-Datei:
- Wählen Sie im Arbeitsbereich im Bereich Dateien eine
.sqlx
-Datei aus, in der 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, angegeben in
module.exports
in der Paketdateiindex.js
. - 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, angegeben in
Commit durchführen und übertragen Sie die Änderungen.
Das folgende Codebeispiel zeigt die Funktion getDomain
aus dem Paket postoffice
, das in einen js
-Block importiert und in einer SELECT
-Anweisung in einer SQLX-Datei verwendet wird:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
config {
type: "table",
}
js {
const { getDomain } = require("postoffice");
}
SELECT ${getDomain("email")} as test
Ganzes Paket in SQLX-Datei in Dataform importieren
So importieren Sie das gesamte Paket in eine SQLX-Datei, anstatt ausgewählte Funktionen oder Konstanten in eine JavaScript-Datei zu importieren:
- Wählen Sie im Arbeitsbereich im Bereich Dateien eine
.sqlx
-Datei aus, in der Sie das Paket verwenden möchten. Importieren Sie das Paket 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, das Sie verwenden möchten.
Commit durchführen und übertragen Sie die Änderungen.
Im folgenden Codebeispiel sehen Sie das in einen js
-Block importierte postoffice
-Paket sowie die zugehörige getDomain
-Funktion in einer SELECT
-Anweisung 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.
- Weitere Informationen zu Paketen in Dataform finden Sie unter Code für mehrere Repositories mit Paketen wiederverwenden.
- 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 Dimensionen in Dataform langsam ändern.