Dataform Core ti consente di creare azioni del workflow con SQLX e JavaScript. Sebbene sia facoltativo, l'utilizzo di JavaScript insieme a SQLX consente di creare elementi simili ripetutamente nel flusso di lavoro. Ad esempio, con JavaScript puoi creare una visualizzazione di ogni tabella del flusso di lavoro con determinati ID utente rimossi. Puoi anche sviluppare azioni del flusso di lavoro esclusivamente con JavaScript.
Prima di iniziare
Nella console Google Cloud , vai alla pagina Dataform.
Seleziona o crea un repository.
Seleziona o crea un workspace di sviluppo.
Inoltre, devi avere familiarità con la sintassi JavaScript e con i seguenti concetti JavaScript:
- Variabili
- Array
- Istruzioni condizionali
- Cicli for
- Maps
- Funzioni
- Oggetti
- Esportazione e importazione di moduli
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per sviluppare un flusso di lavoro con JavaScript e riutilizzare il codice con le inclusioni JavaScript, chiedi all'amministratore di concederti il ruolo IAM Dataform Editor (roles/dataform.editor) negli spazi di lavoro.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Aggiungere codice JavaScript a un file SQLX
Puoi aggiungere codice JavaScript a un file SQLX in due modi: in linea o all'interno di un blocco JavaScript.
Puoi utilizzare un blocco JavaScript per definire funzioni o costanti in un file SQLX. Puoi utilizzare JavaScript incorporato per modificare dinamicamente una query SQLX o SQL.
Il seguente esempio di codice mostra la funzione JavaScript integrata principale di Dataform self aggiunta inline al blocco post_operations in un file SQLX:
config {type: "table"}
SELECT * FROM ...
post_operations {
GRANT `roles/bigquery.dataViewer`
ON
TABLE ${self()}
TO "group:allusers@example.com", "user:otheruser@example.com"
}
Il seguente esempio di codice mostra una costante definita in un blocco JavaScript e utilizzata inline all'interno di una query in un file SQLX:
js {
const columnName = "foo";
}
SELECT 1 AS ${columnName} FROM "..."
Riutilizzare il codice in un singolo file SQLX con l'incapsulamento JavaScript
Puoi riutilizzare il codice JavaScript per semplificare lo sviluppo in Dataform. Per riutilizzare costanti e funzioni JavaScript in un singolo file SQLX, puoi incapsularle in un blocco JavaScript. Per riutilizzare il codice JavaScript in un singolo repository Dataform, puoi creare include. Per riutilizzare il codice JavaScript in più repository Dataform, puoi creare o importare un pacchetto.
Per creare parti ripetitive di codice SQL che puoi riutilizzare all'interno di un singolo file SQLX, puoi incapsulare funzioni e costanti in un blocco JavaScript. Puoi riutilizzare il codice definito in un blocco JavaScript solo all'interno del file SQLX in cui è definito il blocco. Per maggiori informazioni, consulta la pagina Dataform Core.
Il seguente esempio di codice mostra una costante e una funzione definite in un blocco JavaScript e utilizzate inline all'interno di una query in un file SQLX:
js {
const foo = 1;
function bar(number){
return number+1;
}
}
select
${foo}