Buat repositori

Dokumen ini membantu Anda memahami konsep repositori di Dataform dan cara membuat repositori baru.

Tentang repositori Dataform

Setiap repositori Dataform menyimpan kumpulan file SQLX dan JavaScript yang membentuk alur kerja Anda, serta file dan paket konfigurasi Dataform. Anda berinteraksi dengan konten repositori di ruang kerja pengembangan.

Dataform menampilkan repositori Anda di halaman Dataform dalam urutan alfabetis ID repositori. Anda dapat mengurutkan dan memfilternya.

  • Untuk melihat repositori Anda, di Google Cloud konsol, buka halaman Dataform.

    Buka Dataform

Setiap repositori Dataform harus terhubung ke akun layanan kustom. Anda memilih akun layanan kustom saat Anda membuat repositori. Anda dapat mengedit akun layanan nanti.

Dataform menggunakan Git untuk mencatat perubahan dan mengelola versi file. Setiap repositori Dataform sesuai dengan repositori Git. Setelah membuat repositori Dataform, Anda dapat menghubungkannya ke repositori GitHub, GitLab, atau Bitbucket jarak jauh.

Di repositori Dataform, Dataform menyimpan kode repositori. Di repositori yang terhubung, repositori pihak ketiga menyimpan kode repositori. Dataform berinteraksi dengan repositori pihak ketiga untuk memungkinkan Anda mengedit dan menjalankan kontennya di ruang kerja pengembangan Dataform.

Halaman repositori Dataform terdiri dari komponen berikut:

Tab Ruang Kerja Pengembangan
Menampilkan ruang kerja pengembangan yang dibuat di repositori.
Tab Log Eksekusi Alur Kerja
Menampilkan log eksekusi alur kerja Dataform.
Tab Rilis &penjadwalan
Memungkinkan Anda memeriksa, membuat, mengedit, dan menghapus konfigurasi rilis dan konfigurasi alur kerja.
Tab Setelan
Menampilkan nama dan lokasi repositori. Untuk repositori yang terhubung ke repositori Git pihak ketiga, menampilkan sumber repositori pihak ketiga, nama cabang default, dan token rahasia. Menampilkan tombol untuk menghubungkan repositori ke repositori Git pihak ketiga dan untuk mengedit koneksi Git.
Tombol Buat ruang kerja pengembangan
Memungkinkan Anda membuat ruang kerja pengembangan.

Setelah membuat dan melakukan inisialisasi ruang kerja pengembangan, Anda dapat mengedit file setelan alur kerja untuk mengonfigurasi setelan Dataform berikut dari repositori Anda:

  • Database default (Google Cloud project ID).
  • Skema default (ID set data BigQuery).
  • Lokasi BigQuery default.
  • Skema default (ID set data BigQuery) untuk pernyataan.
  • Warehouse, yang harus ditetapkan ke bigquery.
  • Variabel buatan pengguna yang tersedia untuk kode project selama kompilasi.

Untuk mengetahui informasi selengkapnya tentang setelan repositori Dataform, lihat IProjectConfig di referensi inti Dataform.

Setelan repositori

Saat membuat repositori Dataform, Anda harus menetapkan setelan repositori berikut:

ID Repositori
ID unik repositori. ID hanya dapat menyertakan angka, huruf, tanda hubung, dan garis bawah.
Wilayah

Wilayah Dataform untuk menyimpan repositori dan kontennya.

Wilayah penyimpanan ini dapat berbeda dengan wilayah pemrosesan tempat Dataform memproses kode Anda dan menyimpan output eksekusi. Secara default, wilayah pemrosesan ditetapkan ke wilayah set data BigQuery default Anda. Anda dapat mengedit wilayah pemrosesan di file setelan alur kerja setelah membuat repositori. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi setelan alur kerja Dataform.

Akun layanan

Akun layanan kustom yang terkait dengan repositori. Anda dapat memilih akun layanan yang terkait dengan Google Cloud project atau memasukkan akun layanan lain secara manual.

Anda harus menggunakan akun layanan kustom untuk menjalankan alur kerja di repositori. Semua operasi repositori lainnya dilakukan oleh agen layanan Dataform default.

Mode act-as ketat

Mengaktifkan pemeriksaan keamanan tambahan yang memerlukan izin iam.serviceAccounts.actAs pada akun layanan. Mode act-as ketat diterapkan untuk semua repositori.

Enkripsi

Metode enkripsi untuk repositori. Anda dapat menggunakan enkripsi default, kunci enkripsi Cloud KMS yang dikelola pelanggan yang unik , atau kunci CMEK Dataform default. Untuk mengetahui informasi selengkapnya tentang penggunaan kunci enkripsi yang dikelola pelanggan (CMEK) di Dataform, lihat Menggunakan kunci enkripsi yang dikelola pelanggan.

Setelah membuat repositori, Anda dapat menghubungkannya ke GitHub atau GitLab.

Sebelum memulai

  1. Login ke akun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Untuk menggunakan enkripsi CMEK untuk repositori, aktifkan enkripsi CMEK repositori Dataform.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat dan menghapus repositori, minta administrator untuk memberi Anda peran IAM berikut di repositori:

  • Admin Dataform (roles/dataform.admin) - project
  • Pengguna Akun Layanan (roles/iam.serviceAccountUser) - akun layanan kustom

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

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

Memberikan peran yang diperlukan

Untuk menjalankan alur kerja di repositori Dataform dan di BigQuery, Anda dapat menggunakan akun layanan kustom atau Akun Google Anda.

Akun layanan kustom Anda harus memiliki peran yang diperlukan berikut:

  • BigQuery Data Editor (roles/bigquery.dataEditor) di project atau set data BigQuery tertentu yang memerlukan akses baca dan tulis Dataform. Hal ini biasanya mencakup project yang menghosting repositori Dataform Anda.
  • BigQuery Data Viewer (roles/bigquery.dataViewer) di project atau set data BigQuery tertentu yang memerlukan akses hanya baca Dataform.
  • BigQuery Job User (roles/bigquery.jobUser) di project yang menghosting repositori Dataform Anda.

Agar Dataform dapat menggunakan akun layanan kustom Anda, agen layanan Dataform default harus memiliki peran berikut di resource akun layanan kustom:

Untuk memberikan peran ini, ikuti langkah-langkah berikut:

  1. Di Google Cloud konsol, buka halaman IAM.

    Buka IAM

  2. Klik Grant access.

  3. Di kolom New principals, masukkan ID akun layanan kustom Anda.

  4. Di menu Select a role, pilih peran berikut satu per satu, menggunakan Add another role untuk setiap peran tambahan:

    • BigQuery Data Editor
    • BigQuery Data Viewer
    • BigQuery Job User
  5. Klik Save.

  6. Di Google Cloud konsol, buka halaman Service accounts.

    Buka halaman Service accounts

  7. Pilih akun layanan kustom Anda.

  8. Buka Principals with access, lalu klik Grant access.

  9. Di kolom New principals, masukkan ID agen layanan Dataform default Anda.

    ID agen layanan Dataform default Anda memiliki format berikut:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    

    Ganti PROJECT_NUMBER dengan ID numerik Google Cloud project Anda. Anda dapat menemukan Google Cloud project ID di Google Cloud dasbor konsol. Untuk mengetahui informasi selengkapnya, lihat Mengidentifikasi project.

  10. Di daftar Select a role, tambahkan peran berikut:

    • Service Account User
    • Service Account Token Creator
  11. Klik Save.

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Memberikan akses yang diperlukan ke Dataform.

Membuat repositori

Untuk membuat repositori Dataform, ikuti langkah-langkah berikut:

  1. Di Google Cloud konsol, buka halaman Dataform.

    Buka Dataform

  2. Klik Create repository.

  3. Di halaman Create repository, di kolom Repository ID , masukkan ID unik.

    ID hanya dapat menyertakan angka, huruf, tanda hubung, dan garis bawah.

  4. Di daftar drop-down Region, pilih wilayah Dataform untuk menyimpan repositori dan kontennya. Pilih wilayah Dataform yang paling dekat dengan lokasi Anda.

    Untuk mengetahui daftar wilayah Dataform yang tersedia, lihat Lokasi. Wilayah repositori tidak harus cocok dengan lokasi set data BigQuery Anda.

    Di file workflow_settings.yaml, Anda dapat menetapkan wilayah pemrosesan tempat Dataform memproses kode Anda dan menyimpan output eksekusi. Wilayah pemrosesan harus cocok dengan lokasi set data BigQuery Anda, tetapi tidak harus cocok dengan wilayah repositori. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi setelan alur kerja Dataform.

  5. Di menu Service account, pilih akun layanan kustom untuk repositori.

    Di menu, Anda dapat memilih akun layanan kustom yang terkait dengan Google Cloud project Anda yang dapat Anda akses. Akun layanan kustom hanya digunakan untuk eksekusi alur kerja. Semua operasi repositori lainnya dilakukan oleh agen layanan Dataform default.

    1. Opsional: Untuk memilih akun layanan yang tidak ditampilkan di menu—misalnya, jika Anda tidak memiliki izin iam.serviceAccounts.list yang diperlukan untuk melihat daftar peran—klik Enter manually , lalu masukkan ID akun layanan.
  6. Di bagian actAs permission checks, terapkan pemeriksaan izin pada tindakan pengguna di repositori. Untuk mengetahui detail pemeriksaan ini, lihat Menggunakan mode act-as ketat.

  7. Konfigurasi mekanisme enkripsi yang Anda pilih untuk repositori:

    Kunci CMEK default

    Dataform menampilkan kotak centang Use the default KMS key dan memilihnya secara default.

    • Untuk mengenkripsi repositori dengan kunci CMEK Dataform default, biarkan kotak centang Use the default KMS key dicentang.

    Kunci CMEK unik

    Untuk mengenkripsi repositori dengan kunci CMEK unik, lakukan hal berikut:

    1. Jika kotak centang Use the default KMS key dicentang secara default, hapus centang kotak centang tersebut.
    2. Di bagian Encryption, pilih opsi Customer-managed encryption keys (CMEK).
    3. Di drop-down Select a customer-managed key , pilih kunci CMEK unik.

    Enkripsi dalam penyimpanan

    • Untuk menggunakan enkripsi default, di bagian Encryption, pilih opsi Google-managed encryption key.
  8. Klik Create, lalu klik Go to repositories.

Mengedit akun layanan

Anda harus menggunakan akun layanan kustom untuk menjalankan alur kerja di repositori. Semua operasi repositori lainnya dilakukan oleh agen layanan Dataform default.

Untuk mengedit akun layanan untuk repositori Dataform, ikuti langkah-langkah berikut:

  1. Di Google Cloud konsol, buka halaman Dataform.

    Buka Dataform

  2. Pilih repositori, lalu klik Settings.

  3. Di kolom Service account, klik Edit Service account.

  4. Di menu Service account, pilih akun layanan untuk repositori.

    Di menu, Anda dapat memilih akun layanan kustom yang terkait dengan Google Cloud project Anda yang dapat Anda akses.

    1. Opsional: Untuk memilih akun layanan yang tidak ditampilkan di menu, klik Enter manually , lalu masukkan ID akun layanan.
  5. Klik Save.

Menghapus repositori

Untuk menghapus repositori dan semua kontennya, ikuti langkah-langkah berikut:

  1. Di Google Cloud konsol, buka halaman Dataform.

    Buka Dataform

  2. Di samping repositori yang ingin Anda hapus, klik menu More, lalu pilih Delete.

  3. Di jendela Delete repository, masukkan nama repositori untuk mengonfirmasi penghapusan.

  4. Klik Delete.

Langkah berikutnya