Membuat paket di 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 yang didedikasikan untuk paket tersebut dan menghubungkannya ke repositori Git pihak ketiga agar tersedia untuk repositori Dataform lainnya.

Kemudian, Anda perlu membuat file index.js tingkat teratas dan menambahkan konten paket yang dapat diekspor, seperti fungsi dan konstanta, ke file tersebut. Untuk contoh paket yang dibuat di Dataform, lihat dataform-package-base di GitHub.

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

Sebagai alternatif untuk membuat paket, Anda dapat menggunakan kembali fungsi dan konstanta JavaScript di seluruh repositori Dataform dengan menyertakan. Untuk mengetahui informasi selengkapnya, lihat Menggunakan kembali variabel dan fungsi dengan menyertakan di Dataform.

Sebelum memulai

  1. Di konsol Google Cloud, buka halaman Dataform.

    Buka halaman Dataform

  2. Buat repositori Dataform yang didedikasikan 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 lakukan inisialisasi ruang kerja di repositori Dataform.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna membuat paket, minta administrator untuk memberi Anda peran IAM Dataform Admin (roles/dataform.admin) di repositori. 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.

Membuat paket di 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 hal 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 oleh 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 ingin Anda jalankan fungsinya
  4. Opsional: Klik Format.

  5. Opsional: Di 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