Menggunakan JavaScript di Dataform

Dokumen ini membantu Anda memahami cara menggunakan JavaScript untuk mengembangkan alur kerja di Dataform. Dokumen ini juga menunjukkan cara menggunakan JavaScript untuk membuat tindakan alur kerja dan cara membuat include JavaScript untuk menggunakan kembali kode di Dataform.

Inti Dataform memungkinkan Anda membuat tindakan alur kerja dengan SQLX dan JavaScript. Meskipun opsional, Anda dapat menggunakan JavaScript bersama dengan SQLX untuk membuat elemen serupa berulang kali dalam alur kerja Anda. Misalnya, dengan JavaScript, Anda dapat membuat tampilan setiap tabel dalam alur kerja dengan ID pengguna tertentu dihapus. Anda juga dapat mengembangkan tindakan alur kerja secara eksklusif dengan JavaScript.

Sebelum memulai

  1. Di konsol Google Cloud , buka halaman Dataform.

    Buka Dataform

  2. Pilih atau buat repositori.

  3. Pilih atau buat ruang kerja pengembangan.

Selain itu, Anda harus memahami sintaksis JavaScript dan konsep JavaScript berikut:

  • Variabel
  • Array
  • Pernyataan bersyarat
  • Loop for
  • Maps
  • Fungsi
  • Objek
  • Mengekspor dan mengimpor modul

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengembangkan alur kerja dengan JavaScript dan menggunakan kembali kode dengan include JavaScript, minta administrator untuk memberi Anda peran IAM Dataform Editor (roles/dataform.editor) di ruang kerja. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Menambahkan kode JavaScript ke file SQLX

Anda dapat menambahkan kode JavaScript ke file SQLX dengan dua cara: inline atau di dalam blok JavaScript.

Anda dapat menggunakan blok JavaScript untuk menentukan fungsi atau konstanta dalam file SQLX. Anda dapat menggunakan JavaScript inline untuk mengubah kueri SQLX atau SQL secara dinamis.

Contoh kode berikut menunjukkan fungsi JavaScript bawaan inti Dataform self yang ditambahkan secara inline ke blok post_operations dalam 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"
}

Contoh kode berikut menunjukkan konstanta yang ditentukan dalam blok JavaScript dan digunakan inline di dalam kueri dalam file SQLX:

js {
  const columnName = "foo";
}

SELECT 1 AS ${columnName} FROM "..."

Menggunakan kembali kode di satu file SQLX dengan enkapsulasi JavaScript

Anda dapat menggunakan kembali kode JavaScript untuk menyederhanakan pengembangan di Dataform. Untuk menggunakan kembali konstanta dan fungsi JavaScript di satu file SQLX, Anda dapat mengenkapsulasinya dalam blok JavaScript. Untuk menggunakan kembali kode JavaScript di satu repositori Dataform, Anda dapat membuat include. Untuk menggunakan kembali kode JavaScript di beberapa repositori Dataform, Anda dapat membuat atau mengimpor paket.

Untuk membuat bagian kode SQL berulang yang dapat Anda gunakan kembali dalam satu file SQLX, Anda dapat mengenkapsulasi fungsi dan konstanta dalam blok JavaScript. Anda dapat menggunakan kembali kode yang ditentukan dalam blok JavaScript hanya di dalam file SQLX tempat blok ditentukan. Untuk mengetahui informasi selengkapnya, lihat Inti Dataform.

Contoh kode berikut menunjukkan konstanta dan fungsi yang ditentukan dalam blok JavaScript dan digunakan inline di dalam kueri dalam file SQLX:

js {
 const foo = 1;
 function bar(number){
     return number+1;
 }
}