Membuat paket dalam Dataform

Dokumen ini menunjukkan cara membuat paket JavaScript kustom yang dapat Anda gunakan untuk mengembangkan alur kerja SQL di Dataform.

Untuk membuat paket yang dapat digunakan kembali di beberapa repositori Dataform, Anda perlu membuat repositori Dataform khusus untuk paket dan menghubungkannya ke repositori Git pihak ketiga agar tersedia untuk repositori Dataform lainnya.

Selanjutnya, Anda harus membuat file index.js level atas dan menambahkan konten paket yang dapat diekspor, seperti fungsi dan konstanta, ke file tersebut. Untuk contoh paket yang dibuat dalam Dataform, lihat dataform-package-base di GitHub.

Setelah membuat paket, Anda dapat menginstal paket ke repositori Dataform lain dan menggunakan konten yang dapat diekspor pada paket, seperti konstanta dan fungsi, untuk mengembangkan alur kerja SQL.

Selain membuat paket, Anda dapat menggunakan kembali fungsi dan konstanta JavaScript di satu repositori Dataform dengan penyertaan. Untuk informasi selengkapnya, lihat Menggunakan kembali variabel dan fungsi dengan penyertaan dalam Dataform.

Sebelum memulai

  1. Di konsol Google Cloud, buka halaman Dataform.

    Buka halaman Dataform

  2. Buat repositori Dataform yang khusus untuk paket Anda. Cocokkan nama repositori dengan nama paket Anda.

  3. Hubungkan repositori ke repositori Git pihak ketiga yang akan menghosting paket Anda.

  4. Buat dan inisialisasi ruang kerja di repositori Dataform.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat paket, minta administrator untuk memberi Anda peran IAM Admin Dataform (roles/dataform.admin) di repositori. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

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

Membuat paket dalam Dataform

Untuk membuat paket Anda sendiri dengan kode JavaScript yang dapat digunakan kembali di Dataform, ikuti langkah-langkah berikut di ruang kerja Anda:

  1. Di panel Files, klik menu More.

  2. Klik Create file.

    1. Di panel Create new file, lakukan langkah berikut:

    2. Di kolom Add a file path, masukkan index.js.

    3. Klik Create file.

  3. Dalam file index.js, masukkan kode JavaScript yang ingin diekspor paket Anda.

    1. Buat konstanta dalam format berikut:

      const CONSTANT_NAME = CONSTANT_VALUE;
      module.exports = { CONSTANT_NAME };
      

      Ganti kode berikut:

      • CONSTANT_NAME: nama konstanta Anda
      • CONSTANT_VALUE: nilai konstanta Anda
    2. Buat fungsi dalam format berikut:

    function FUNCTION_NAME(PARAMETERS) { FUNCTION_BODY }
    
    module.exports = { FUNCTION_NAME }
    

    Ganti kode berikut:

    • FUNCTION_NAME: nama fungsi Anda
    • PARAMETERS: parameter fungsi Anda
    • FUNCTION_BODY: kode yang Anda inginkan untuk dijalankan oleh fungsi
  4. Opsional: Klik Format.

  5. Opsional: Dalam direktori definitions, tambahkan kode paket yang tidak akan diekspor.

  6. Commit dan push perubahan Anda.

Contoh kode paket berikut menunjukkan file index.js dari paket postoffice yang mengekspor fungsi 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 }

Langkah selanjutnya