Per utilizzare un pacchetto in Dataform, devi installarlo nel tuo repository.
In Dataform puoi installare i seguenti tipi di pacchetti:
- Pacchetti NPM pubblici pubblicati.
- Pacchetti NPM pubblici non pubblicati.
- Pacchetti NPM privati autenticati.
Poi, per utilizzare il pacchetto in un file JavaScript o SQLX, devi importare nel file i contenuti selezionati del pacchetto. Puoi anche importare un intero pacchetto in un file JavaScript o SQLX anziché nei relativi contenuti selezionati.
Per evitare problemi di installazione del pacchetto nell'ambiente di produzione, consigliamo di procedere nel seguente modo:
Specifica esplicitamente la versione del pacchetto in
package.json
, ad esempio3.0.0
. Non utilizzare altre opzionidependencies
dipackage.json
, ad esempio>version
.Testare le nuove versioni del pacchetto in un ambiente non di produzione. Per ulteriori informazioni sulla configurazione di diversi ambienti del ciclo di vita del codice, consulta la sezione Gestire il ciclo di vita del codice.
Prima di iniziare
Nella console Google Cloud, vai alla pagina Dataform.
Seleziona o crea un repository.
Seleziona o crea un'area di lavoro di sviluppo.
Se il tuo repository non contiene un file
package.json
, creapackage.json
e sposta il pacchetto principale di Dataform.(Facoltativo) Per installare un pacchetto privato, autentica il pacchetto privato.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per installare un pacchetto,
chiedi all'amministratore di concederti il ruolo IAM Editor di Dataform (roles/dataform.editor
) negli spazi di lavoro.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Installare un pacchetto
Per installare un pacchetto in un repository Dataform, devi aggiungerlo come dipendenza nel file package.json
.
Per aggiungere un pacchetto come dipendenza nel file package.json
:
- Nella tua area di lavoro, seleziona
package.json
nel riquadro File. Aggiungi il pacchetto al blocco
dependencies
:Aggiungi un pacchetto NPM pubblico pubblicato nel seguente formato:
"PACKAGE-NAME": "PACKAGE-VERSION"
Sostituisci quanto segue:
- PACKAGE-NAME con il nome del pacchetto.
- PACKAGE-VERSION con la versione più recente del
pacchetto NPM pubblico pubblicato. Per evitare problemi con l'installazione del pacchetto,
specifica esplicitamente la versione, ad esempio
3.0.0
.
Aggiungi un pacchetto NPM pubblico non pubblicato nel seguente formato:
"PACKAGE-NAME": "PACKAGE-URL"
Sostituisci quanto segue:
- PACKAGE-NAME con il nome del pacchetto.
- PACKAGE-URL con l'URL
tar.gz
del repository del pacchetto di terze parti, ad esempiohttps://github.com/user/sample-package-repository/archive/master.tar.gz
.
Aggiungi un pacchetto NPM privato autenticato nel seguente formato:
"REGISTRY-SCOPE/PACKAGE-NAME": "PACKAGE-URL"
Sostituisci quanto segue:
- REGISTRY-SCOPE con il nome del pacchetto.
REGISTRY-SCOPE deve corrispondere all'ambito del registry
definito nel file
.nmprc
nel tuo repository. - PACKAGE-NAME con il nome del pacchetto.
- PACKAGE-URL con l'URL
tar.gz
del repository del pacchetto, ad esempiohttps://github.com/user/sample-package-repository/archive/master.tar.gz
.
- REGISTRY-SCOPE con il nome del pacchetto.
REGISTRY-SCOPE deve corrispondere all'ambito del registry
definito nel file
Fai clic su Installa pacchetti.
Esegui il commit e push le modifiche.
Il seguente esempio di codice mostra il pacchetto di dimensioni in lenta evoluzione open source pubblico aggiunto al file .package.json
:
```json
{
"name": "repository-name",
"dependencies": {
"@dataform/core": "2.0.3",
"dataform-scd": "https://github.com/dataform-co/dataform-scd/archive/0.3.tar.gz"
}
}
```
Importare una funzione o una costante del pacchetto in un file JavaScript in Dataform
Per utilizzare una funzione o una costante di un pacchetto all'interno di un file JavaScript in Dataform, devi prima importarla nel file.
Per importare una funzione o una costante da un pacchetto in un file JavaScript:
- Nel riquadro File dello spazio di lavoro, seleziona un file
.js
in cui vuoi utilizzare il pacchetto. Nel file, importa una funzione o una costante nel seguente formato:
const { EXPORT-NAME } = require("PACKAGE-NAME");
- Sostituisci EXPORT-NAME con il nome della funzione o della costante che vuoi utilizzare, dichiarata in
module.exports
nel file del pacchettoindex.js
. - Sostituisci PACKAGE-NAME con il nome del package che vuoi utilizzare.
- Sostituisci EXPORT-NAME con il nome della funzione o della costante che vuoi utilizzare, dichiarata in
Esegui il commit e push le modifiche.
Il seguente esempio di codice mostra la funzione getDomain
del
postoffice
pacchetto importata e utilizzata in un file JavaScript:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
const { getDomain } = require("postoffice");
getDomain();
Importa un intero pacchetto in un file JavaScript in Dataform
Per importare l'intero pacchetto in un file JavaScript anziché alcune funzioni o costanti in un file JavaScript:
- Nel riquadro File dello spazio di lavoro, seleziona un file
.js
in cui vuoi utilizzare il pacchetto. Nel file, importa il pacchetto nel seguente formato:
const CONSTANT-NAME = require("PACKAGE-NAME");
- Sostituisci CONSTANT-NAME con un nome per la costante.
- Sostituisci PACKAGE-NAME con il nome del pacchetto che vuoi utilizzare.
Esegui il commit e push le modifiche.
Il seguente esempio di codice mostra la funzione getDomain
del pacchetto postoffice
importato utilizzato in un file JavaScript:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
const postoffice = require("postoffice");
postoffice.getDomain();
Importa una funzione o una costante del pacchetto in un file SQLX in Dataform
Per utilizzare una funzione o una costante di un pacchetto all'interno di un file SQLX, devi prima importarla nel file.
Per importare una funzione o una costante da un pacchetto in un file SQLX:
- Nel riquadro File dello spazio di lavoro, seleziona un file
.sqlx
in cui vuoi utilizzare il pacchetto. Nel file, inserisci il seguente blocco
js
:js { const { EXPORT-NAME } = require("PACKAGE-NAME"); }
- Sostituisci EXPORT-NAME con il nome della funzione o della costante che vuoi utilizzare, dichiarata in
module.exports
nel file del pacchettoindex.js
. - Sostituisci PACKAGE-NAME con il nome del pacchetto che vuoi utilizzare.
- Sostituisci EXPORT-NAME con il nome della funzione o della costante che vuoi utilizzare, dichiarata in
Esegui il commit e push le modifiche.
Il seguente esempio di codice mostra la funzione getDomain
del
postoffice
pacchetto importata in un blocco js
e utilizzata in un
SELECT
statement in un file SQLX:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
config {
type: "table",
}
js {
const { getDomain } = require("postoffice");
}
SELECT ${getDomain("email")} as test
Importare un intero pacchetto in un file SQLX in Dataform
Per importare l'intero pacchetto in un file SQLX anziché in un file JavaScript, segui questi passaggi:
- Nel riquadro File dello spazio di lavoro, seleziona un file
.sqlx
in cui vuoi utilizzare il pacchetto. Nel file, importa il pacchetto nel seguente formato:
js { const CONSTANT-NAME = require("PACKAGE-NAME"); }
- Sostituisci CONSTANT-NAME con un nome per la costante.
- Sostituisci PACKAGE-NAME con il nome del pacchetto che vuoi utilizzare.
Esegui il commit e push le modifiche.
Il seguente esempio di codice mostra il pacchetto postoffice
importato in un blocco js
e la relativa funzione getDomain
utilizzata in un'istruzione SELECT
in un file SQLX:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
config {
type: "table",
}
js {
const postoffice = require("postoffice");
}
SELECT ${postoffice.getDomain("email")} as test
Passaggi successivi
- Per scoprire come autenticare un pacchetto NPM privato in Dataform, consulta Autenticare un pacchetto privato in Dataform.
- Per scoprire come gestire il pacchetto Dataform Core richiesto, consulta Gestire il pacchetto Dataform Core.
- Per scoprire come creare il tuo pacchetto in Dataform, consulta Creare un pacchetto in Dataform.
- Per scoprire come utilizzare un pacchetto open source in Dataform, consulta Utilizzare le dimensioni con variazioni lente in Dataform.