Per creare un pacchetto che puoi riutilizzare in più repository Dataform, devi creare un repository Dataform dedicato al pacchetto e connetterlo a un repository Git di terze parti per renderlo disponibile ad altri repository Dataform.
Poi, devi creare un file index.js
di primo livello e aggiungere al file i contenuti del pacchetto esportabile, come funzioni e costanti. Per un esempio di pacchetto creato in Dataform, vedi dataform-package-base
su GitHub.
Una volta creato il pacchetto, puoi installarlo in un altro repository Dataform e utilizzare i contenuti esportabili del pacchetto, come costanti e funzioni, per sviluppare flussi di lavoro SQL.
In alternativa alla creazione di un pacchetto, puoi riutilizzare le funzioni e le costanti JavaScript in un singolo repository Dataform con inclusioni. Per saperne di più, consulta Riutilizzare variabili e funzioni con include in Dataform.
Prima di iniziare
Nella console Google Cloud, vai alla pagina Dataform.
Crea un repository Dataform dedicato al tuo pacchetto. Fai corrispondere il nome del repository al nome del tuo pacchetto.
Connetti il repository a un repository Git di terze parti che ospiterà il tuo pacchetto.
Crea e inizializza un'area di lavoro nel repository Dataform.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un pacchetto,
chiedi all'amministratore di concederti il ruolo IAM
Amministratore Dataform (roles/dataform.admin
) per i repository.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Crea un pacchetto in Dataform
Per creare il tuo pacchetto con codice JavaScript che puoi riutilizzare in Dataform, segui questi passaggi nell'area di lavoro:
Nel riquadro File, fai clic sul menu
Altro.Fai clic su Crea file.
Nel riquadro Crea nuovo file, procedi nel seguente modo:
Nel campo Aggiungi un percorso file, inserisci
index.js
.Fai clic su Crea file.
Nel file
index.js
, inserisci il codice JavaScript che vuoi che venga esportato dal pacchetto.Crea costanti nel seguente formato:
const CONSTANT_NAME = CONSTANT_VALUE; module.exports = { CONSTANT_NAME };
Sostituisci quanto segue:
CONSTANT_NAME
: il nome della tua costanteCONSTANT_VALUE
: il valore della tua costante
Crea funzioni nel seguente formato:
function FUNCTION_NAME(PARAMETERS) { FUNCTION_BODY } module.exports = { FUNCTION_NAME }
Sostituisci quanto segue:
FUNCTION_NAME
: il nome della funzionePARAMETERS
: i parametri della funzioneFUNCTION_BODY
: il codice che deve essere eseguita dalla funzione
(Facoltativo) Fai clic su Formato.
(Facoltativo) Nella directory
definitions
, aggiungi il codice del pacchetto che non verrà esportato.Esegui il commit e push le modifiche.
Il seguente esempio di codice del pacchetto mostra il file index.js
del pacchetto postoffice
che esporta la funzione getDomain
:
// filename index.js
// package name postoffice
const GENERIC_DOMAINS = "('samplemail.com','samplemail.co.uk','examplemailbox.com'";
function getDomain(email) {
let cleanEmail = `trim(${email})`
const domain = `substr(${cleanEmail}, strpos(${cleanEmail}, '@') + 1)`;
return `case
when ${domain} in ${common.GENERIC_DOMAINS} then ${cleanEmail}
when ${domain} = "othermailbox.com" then "other.com"
when ${domain} = "mailbox.com" then "mailbox.global"
when ${domain} = "support.postman.com" then "postman.com"
else ${domain}
end`;
}
module.exports = { getDomain }
Passaggi successivi
- Per scoprire come installare il pacchetto in un repository e importarne i contenuti nei file JavaScript o SQLX, consulta Installare un pacchetto in Dataform.
- Per scoprire di più sui pacchetti in Dataform, consulta Riutilizzare il codice in più repository con pacchetti.
- Per scoprire come scrivere variabili e funzioni JavaScript che puoi riutilizzare in Dataform, consulta Riutilizzare variabili e funzioni con include in Dataform.