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 konsol Google Cloud , buka halaman Dataform.
Setiap repositori Dataform terhubung ke agen layanan Dataform default atau akun layanan kustom. Anda hanya dapat memilih akun layanan kustom saat Anda membuat repositori. Anda dapat mengedit akun layanan nanti.
Secara default, Dataform menggunakan agen layanan atau akun layanan yang berasal dari nomor project Anda dalam format berikut:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Dataform menggunakan Git untuk merekam 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 isinya 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 di 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.
- Gudang, yang harus disetel ke
bigquery. - Variabel buatan pengguna yang tersedia untuk kode project selama kompilasi.
Untuk mengetahui informasi selengkapnya tentang setelan repositori Dataform, lihat IProjectConfig dalam referensi inti Dataform.
Setelan repositori
Saat membuat repositori Dataform, Anda perlu menyetel setelan repositori berikut:
- ID Repositori
- ID unik repositori. ID hanya boleh berisi angka, huruf, tanda hubung, dan garis bawah.
- Wilayah
Region Dataform untuk menyimpan repositori dan isinya.
Region penyimpanan ini dapat berbeda dengan region pemrosesan tempat Dataform memproses kode Anda dan menyimpan output eksekusi. Secara default, region pemrosesan ditetapkan ke region set data BigQuery default Anda. Anda dapat mengedit region pemrosesan dalam file setelan alur kerja setelah membuat repositori. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi setelan alur kerja Dataform.
- Agen layanan atau akun layanan
Agen layanan Dataform atau akun layanan kustom yang terkait dengan repositori. Untuk repositori baru, Anda harus menyediakan akun layanan kustom. Anda dapat memilih akun layanan yang terkait dengan projectGoogle Cloud Anda atau memasukkan akun layanan lain secara manual.
Secara default, Dataform menggunakan agen layanan atau akun layanan yang berasal dari nomor project Anda dalam format berikut:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comAnda harus menggunakan akun layanan kustom untuk menjalankan alur kerja di repositori, tetapi agen layanan Dataform default masih digunakan untuk semua operasi repositori lainnya.
- Mode berperan sebagai yang ketat
Mengaktifkan pemeriksaan keamanan tambahan yang memerlukan izin
iam.serviceAccounts.actAspada akun layanan. Untuk repositori baru, mode berperan ketat diterapkan. Untuk repositori yang sudah ada, sebaiknya gunakan akun layanan kustom dan aktifkan mode bertindak sebagai yang ketat untuk memastikan model izin yang lebih aman dan dapat diprediksi.- 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 cara menggunakan 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
- Login ke akun Google Cloud Anda. 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.- Untuk menggunakan enkripsi CMEK bagi 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 pada 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 wajib 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 pada resource akun layanan kustom:
- Service Account Token Creator
(
roles/iam.serviceAccountTokenCreator) - Service Account User
(
roles/iam.serviceAccountUser)
Untuk memberikan peran ini, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman IAM.
Klik Grant access.
Di kolom New principals, masukkan ID akun layanan kustom Anda.
Di menu Pilih peran, pilih peran berikut satu per satu, menggunakan Tambahkan peran lain untuk setiap peran tambahan:
- BigQuery Data Editor
- BigQuery Data Viewer
- BigQuery Job User
Klik Simpan.
Di konsol Google Cloud , buka halaman Service accounts.
Pilih akun layanan kustom Anda.
Buka Principals with access, lalu klik Grant access.
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.comGanti
PROJECT_NUMBERdengan ID angka project Google Cloud Anda. Anda dapat menemukan Google Cloud project ID di dasbor konsolGoogle Cloud . Untuk mengetahui informasi selengkapnya, lihat Mengidentifikasi project.Di daftar Pilih peran, tambahkan peran berikut:
- Pengguna Akun Layanan
- Service Account Token Creator
Klik Simpan.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Memberi Dataform akses yang diperlukan.
Membuat repositori
Untuk membuat repositori Dataform, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Dataform.
Klik Buat repositori.
Di halaman Create repository, di kolom Repository ID, masukkan ID unik.
ID hanya boleh berisi angka, huruf, tanda hubung, dan garis bawah.
Di menu drop-down Region, pilih region Dataform untuk menyimpan repositori dan isinya. Pilih region Dataform yang terdekat dengan lokasi Anda.
Untuk mengetahui daftar region Dataform yang tersedia, lihat Lokasi. Region repositori tidak harus cocok dengan lokasi set data BigQuery Anda.
Dalam file
workflow_settings.yaml, Anda dapat menetapkan region pemrosesan tempat Dataform memproses kode Anda dan menyimpan output eksekusi. Region pemrosesan harus cocok dengan lokasi set data BigQuery Anda, tetapi tidak harus cocok dengan region repositori. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi setelan alur kerja Dataform.Di menu Service account, pilih akun layanan kustom untuk repositori.
Di menu, Anda dapat memilih akun layanan kustom yang terkait dengan projectGoogle Cloud yang aksesnya Anda miliki. Akun layanan kustom hanya digunakan untuk eksekusi alur kerja. Semua operasi repositori lainnya dilakukan oleh agen layanan Dataform default.
- Opsional: Untuk memilih akun layanan yang tidak ditampilkan di menu, klik Masukkan secara manual, lalu masukkan ID akun layanan.
Di bagian pemeriksaan izin actAs, terapkan pemeriksaan izin pada tindakan pengguna di repositori. Untuk mengetahui detail pemeriksaan ini, lihat Menggunakan mode berperan sebagai yang ketat.
Konfigurasi mekanisme enkripsi yang Anda pilih untuk repositori:
Kunci CMEK default
Dataform menampilkan kotak centang Gunakan kunci KMS default dan mencentangnya secara default.
- Untuk mengenkripsi repositori dengan kunci CMEK Dataform default, biarkan kotak Gunakan kunci KMS default dicentang.
Kunci CMEK unik
Untuk mengenkripsi repositori dengan kunci CMEK unik, lakukan hal berikut:
- Jika kotak centang Gunakan kunci KMS default dipilih secara default, hapus pilihan kotak centang tersebut.
- Di bagian Enkripsi, pilih opsi Kunci enkripsi yang dikelola pelanggan (CMEK).
- Di drop-down Pilih kunci yang dikelola pelanggan, pilih kunci CMEK yang unik.
Enkripsi dalam penyimpanan
- Untuk menggunakan enkripsi default, di bagian Enkripsi, pilih opsi Google-managed encryption key.
Klik Buat, lalu klik Buka repositori.
Edit akun layanan
Anda harus mengaitkan akun layanan kustom dengan repositori Dataform untuk eksekusi alur kerja. Semua operasi repositori lainnya masih dilakukan oleh agen layanan Dataform default.
Untuk mengedit akun layanan untuk repositori Dataform, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Dataform.
Pilih repositori, lalu klik Setelan.
Di samping kolom Service account, klik Edit Service account.
Di menu Service account, pilih akun layanan untuk repositori.
Di menu, Anda dapat memilih akun layanan kustom yang terkait dengan projectGoogle Cloud yang aksesnya Anda miliki.
- Opsional: Untuk memilih akun layanan yang tidak ditampilkan di menu, klik Masukkan secara manual, lalu masukkan ID akun layanan.
Klik Simpan.
Menghapus repositori
Untuk menghapus repositori dan semua isinya, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Dataform.
Di samping repositori yang ingin Anda hapus, klik menu Lainnya, lalu pilih Hapus.
Di jendela Hapus repositori, masukkan nama repositori untuk mengonfirmasi penghapusan.
Klik Hapus.
Langkah berikutnya
- Untuk mempelajari cara menghubungkan repositori Dataform ke repositori Git pihak ketiga, lihat Menghubungkan ke repositori Git pihak ketiga.
- Untuk mempelajari lebih lanjut pengaruh ukuran repositori terhadap pengembangan di Dataform, lihat Ringkasan ukuran repositori.
- Untuk mempelajari lebih lanjut cara memisahkan repositori di Dataform, lihat Pengantar pemisahan repositori.
- Untuk mempelajari cara mengonfigurasi setelan pemrosesan Dataform, lihat Mengonfigurasi setelan alur kerja Dataform.
- Untuk mempelajari cara membuat dan melakukan inisialisasi ruang kerja, lihat Membuat ruang kerja.