Wenn Sie ein privates NPM-Paket in einem Dataform-Repository installieren und zum Entwickeln Ihres SQL-Workflows verwenden möchten, müssen Sie das Paket zuerst in Dataform authentifizieren. Der Authentifizierungsprozess unterscheidet sich für das erste private Paket in einem Repository und ein nachfolgendes privates Paket in einem Repository.
Hinweis
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie ein Repository aus oder erstellen Sie ein neues.
Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen für Repositories und Arbeitsbereiche die IAM-Rolle Dataform Editor (roles/dataform.editor
) zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Authentifizieren privater NPM-Pakete in Dataform 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.
Erstes privates Paket in einem Dataform-Repository authentifizieren
Wenn Sie private NPM-Pakete in Dataform authentifizieren möchten, müssen Sie Folgendes tun, bevor Sie das erste private NPM-Paket in einem Dataform-Repository installieren:
Erstellen Sie ein Secret Manager-Secret, um Authentifizierungstokens privater NPM-Pakete im Dataform-Repository zu speichern.
- Fügen Sie dem Secret das Authentifizierungstoken des Pakets hinzu, das Sie aus Ihrer NPM-Registry abgerufen haben.
Sie müssen alle Authentifizierungstokens der privaten NPM-Pakete in Ihrem Repository in einem einzigen Secret speichern. Sie müssen ein eigenes Secret pro Dataform-Repository erstellen. Das Geheimnis muss im JSON-Format vorliegen.
Erstellen Sie eine
.npmrc
-Datei und fügen Sie der Datei das Authentifizierungstoken des Pakets hinzu.Das Authentifizierungstoken in der
.npmrc
-Datei muss mit dem Authentifizierungstoken im hochgeladenen Secret übereinstimmen.
Nachdem Sie das private NPM-Paket authentifiziert haben, können Sie es im Dataform-Repository installieren.
Secret für die Authentifizierung privater Pakete erstellen
Wenn Sie private NPM-Pakete in einem Dataform-Repository authentifizieren möchten, müssen Sie ein Secret Manager-Secret erstellen und Authentifizierungstokens für alle privaten Pakete definieren, die Sie im Secret im Dataform-Repository installieren möchten. Definieren Sie ein Authentifizierungstoken pro privates NPM-Paket und speichern Sie alle Authentifizierungstokens in einem einzelnen Secret pro Repository. Das Geheimnis muss im JSON-Format vorliegen.
So erstellen Sie ein Secret mit Authentifizierungstokens für private NPM-Pakete:
Erstellen Sie ein Secret in Secret Manager.
- Geben Sie im Feld Secret-Wert ein oder mehrere Authentifizierungstokens im folgenden Format ein:
{ "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE" }
Ersetzen Sie Folgendes:
- AUTHENTICATION_TOKEN_NAME: Ein eindeutiger Name für das Token, der das zu authentifizierende Paket identifiziert
- TOKEN_VALUE: der Wert des Authentifizierungstokens, der aus Ihrer NPM-Registry abgerufen wurde
Gewähren Sie dem Dataform-Dienstkonto Zugriff auf das Secret.
Das Dataform-Dienstkonto hat folgendes Format:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
- Achten Sie beim Gewähren des Zugriffs darauf, Ihrem Dataform-Dienstkonto die Rolle
roles/secretmanager.secretAccessor
zuzuweisen.
- Achten Sie beim Gewähren des Zugriffs darauf, Ihrem Dataform-Dienstkonto die Rolle
Geheimes Schlüssel für die Authentifizierung privater Pakete in ein Dataform-Repository hochladen
Bevor Sie ein privates NPM-Paket zum ersten Mal in einem Dataform-Repository installieren, laden Sie das Secret mit dem Authentifizierungstoken des Pakets in das Repository hoch.
So laden Sie das Secret mit den Authentifizierungstokens für private NPM-Pakete in ein Dataform-Repository hoch:
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie das Repository aus, in dem Sie private NPM-Pakete installieren möchten.
Klicken Sie auf der Repository-Seite auf Einstellungen > Private NPM-Pakete konfigurieren.
Wählen Sie im Bereich Secret-Token für npm-Paket hinzufügen im Drop-down-Menü Secret das Secret mit den Authentifizierungstokens für private npm-Pakete aus.
Klicken Sie auf Speichern.
.npmrc
-Datei zur Authentifizierung privater Pakete erstellen
Wenn Sie private NPM-Pakete in einem Dataform-Repository authentifizieren möchten, müssen Sie im Repository eine .npmrc
-Datei auf oberster Ebene erstellen. Sie müssen Authentifizierungstokens für alle privaten NPM-Pakete speichern, die im Repository in der .npmrc
-Datei installiert werden sollen. Die Authentifizierungstokens in der Datei .npmrc
müssen mit den Authentifizierungstokens in dem Geheimnis übereinstimmen, das in das Repository hochgeladen wurde. Weitere Informationen zu .npmrc
-Dateien finden Sie in der npmrc-Dokumentation.
So erstellen Sie eine .npmrc
-Datei der obersten Ebene in Ihrem Repository:
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie das Repository aus, in dem Sie private NPM-Pakete installieren möchten, und dann einen Arbeitsbereich.
Klicken Sie im Bereich Dateien auf das Dreipunkt-Menü
Mehr und dann auf Datei erstellen.Führen Sie im Bereich Neue Datei erstellen die folgenden Schritte aus:
Geben Sie im Feld Dateipfad hinzufügen
.npmrc
ein.Klicken Sie auf Datei erstellen.
Datei .npmrc
in einem Dataform-Repository ein Authentifizierungstoken hinzufügen
Wenn Sie ein privates NPM-Paket in einem Dataform-Repository authentifizieren möchten, das bereits ein Secret mit Paketauthentifizierungstokens und eine .npmrc
-Datei enthält, müssen Sie der .npmrc
-Datei im Repository das Authentifizierungstoken für das private Paket hinzufügen.
In der Datei .npmrc
müssen Sie den Umfang Ihrer NPM-Registry definieren und das Authentifizierungstoken für das private Paket hinzufügen, auf das in diesem Umfang zugegriffen wird. Weitere Informationen zu .npmrc
-Dateien finden Sie in der npmrc-Dokumentation.
Das Authentifizierungstoken in der Datei .npmrc
muss mit dem Authentifizierungstoken in dem Secret übereinstimmen, das in das Repository hochgeladen wurde.
So fügen Sie der Datei .npmrc
in einem Dataform-Repository ein Authentifizierungstoken hinzu:
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie das Repository aus, in dem Sie private NPM-Pakete installieren möchten, und dann einen Arbeitsbereich.
Wählen Sie im Bereich Dateien die Datei
.npmrc
aus.Definieren Sie in der Datei
.npmrc
den NPM-Registry-Umfang und das Authentifizierungstoken für das private Paket im folgenden Format:
@REGISTRY-SCOPE:registry=NPM-REGISTRY-URL
NPM-REGISTRY-URL:_authToken=$AUTHENTICATION-TOKEN
Ersetzen Sie Folgendes:
- REGISTRY-SCOPE: der NPM-Registrybereich, auf den Sie das Authentifizierungstoken anwenden möchten
- NPM-REGISTRY-URL: die URL Ihrer NPM-Registry, z. B.
https://npm.pkg.github.com
AUTHENTICATION-TOKEN: das Authentifizierungstoken für das private NPM-Paket. Das Authentifizierungstoken in der Datei
.npmrc
muss mit dem Authentifizierungstoken im hochgeladenen Secret übereinstimmen. Das Authentifizierungstoken wird in der Datei.npmrc
als Umgebungsvariable angegeben. Fügen Sie also die öffnenden Klammern${
und die schließenden Klammern}
hinzu.Sie können mehrere Authentifizierungstokens eingeben.
Das folgende Codebeispiel zeigt ein Authentifizierungstoken für ein privates NPM-Paket, das der Datei .npmrc
in einem Dataform-Repository hinzugefügt wurde:
@company:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${AUTHENTICATION_TOKEN}
Ein nachfolgendes privates Paket in einem Dataform-Repository authentifizieren
So authentifizieren Sie ein privates NPM-Paket in einem Dataform-Repository, das bereits ein Secret mit Paketauthentifizierungstokens und eine .npmrc
-Datei enthält:
Liste die Secrets in Secret Manager auf und wähle das Secret aus, in dem die Authentifizierungstokens der privaten NPM-Pakete deines Repositories gespeichert sind.
Fügen Sie dem Secret eine neue Version hinzu.
Dataform verwendet standardmäßig die neueste Version des Secrets.
- Fügen Sie dem geheimen Wert das Authentifizierungstoken für das private Paket im folgenden Format hinzu:
{ "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE" }
Ersetzen Sie Folgendes:
- AUTHENTICATION_TOKEN_NAME: Ein eindeutiger Name für das Token, der das zu authentifizierende Paket identifiziert
- TOKEN_VALUE: der Wert des Authentifizierungstokens, der aus Ihrer NPM-Registry abgerufen wurde
Sie können mehrere Authentifizierungstokens gleichzeitig hinzufügen.
Fügen Sie in Dataform das Authentifizierungstoken der Datei
.npmrc
in Ihrem Repository hinzu.
Nachdem Sie das private NPM-Paket authentifiziert haben, können Sie das Paket im Dataform-Repository installieren.
Nächste Schritte
- Informationen zum Installieren eines Pakets in einem Dataform-Repository finden Sie unter Paket in Dataform installieren.
- Weitere Informationen zu Paketen in Dataform finden Sie unter Code mithilfe von Paketen in mehreren Repositories 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 Langsam ändernde Dimensionen in Dataform verwenden.