Mengelola kode dengan repositori Git BigQuery Studio

Anda dapat mengelola skrip dan notebook SQL menggunakan repositori Git BigQuery Studio. Fitur ini mengintegrasikan kontrol versi langsung ke browser file BigQuery Studio, sehingga Anda dapat meng-clone repositori, mengelola cabang, dan melakukan operasi Git tanpa keluar dari konsol Google Cloud .

Repositori Git BigQuery Studio menawarkan pengalaman yang lebih lancar dan berbasis folder dibandingkan dengan repositori klasik. Repositori Git BigQuery Studio muncul langsung di panel kiri di bawah folder root pengguna Anda.

Dengan menggunakan repositori Git BigQuery Studio, Anda dapat berinteraksi dengan aset kode seperti file dan direktori standar sambil mempertahankan koneksi ke repositori Git jarak jauh.

Batasan

  • Repositori Git BigQuery Studio dibatasi untuk konteks folder root pengguna dan ditujukan untuk penggunaan pribadi. Jangan bagikan repositori ini kepada pengguna lain. Meskipun repositori ini muncul di folder root pengguna—yang merupakan representasi virtual aset Anda dalam project—repositori ini secara teknis dibuat di tingkat project.
  • Penggunaan konektor akun Developer Connect dengan Git Proxy tidak didukung.
  • Operasi sistem file dalam lokasi pemasangan menggunakan kuota Dataform.
  • Repositori dengan sejumlah besar file, ukuran file besar, banyak cabang, atau histori commit yang dalam dan kompleks membutuhkan waktu lebih lama untuk di-clone. Operasi cloning dapat melampaui waktu tunggu operasi, yang mencegah repositori dibuat dengan berhasil.
  • Ukuran file notebook yang disimpan di pemasangan repositori Git BigQuery Studio tidak boleh lebih dari 30 MB. Jika ukuran file Anda lebih besar dari 30 MB, simpan file tersebut ke penyimpanan lokal runtime Colab di luar lokasi yang di-mount.
  • Saat Anda membuat perubahan pada repositori Git di luar pemasangan—misalnya, dengan mengedit atau mengganti nama file di panel kiri—diperlukan waktu hingga 60 detik agar perubahan tersebut terlihat dalam pemasangan di runtime notebook Anda. Anda dapat menyesuaikan durasi ini dengan meneruskan parameter CACHE_TTL_SECONDS ke konstruktor:

      FuseWidget(CACHE_TTL_SECONDS=NUMBER)
    

    Ganti NUMBER dengan jumlah detik agar cache tetap valid. Mengurangi nilai ini akan meningkatkan frekuensi sinkronisasi dan menggunakan kuota Dataform lebih cepat.

Sebelum memulai

Aktifkan Developer Connect API di Google Cloud project Anda.

Mengaktifkan API

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengelola kode dengan repositori Git BigQuery Studio, minta administrator Anda untuk memberi Anda peran IAM Developer Connect OAuth User (roles/developerconnect.oauthUser) di project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk mengelola kode dengan repositori Git BigQuery Studio. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengelola kode dengan repositori Git BigQuery Studio:

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • developerconnect.operations.list
  • developerconnect.operations.get
  • developerconnect.locations.list
  • developerconnect.locations.get
  • developerconnect.users.startOAuth
  • developerconnect.users.finishOAuth
  • developerconnect.users.fetchAccessToken
  • developerconnect.users.getSelf
  • developerconnect.users.deleteSelf
  • developerconnect.accountConnectors.get
  • developerconnect.accountConnectors.list
  • developerconnect.accountConnectors.gitProxyUse
  • developerconnect.accountConnectors.httpProxyUse
  • developerconnect.accountConnectors.gitProxyRead
  • developerconnect.accountConnectors.gitProxyWrite
  • developerconnect.accountConnectors.httpProxyRead
  • developerconnect.accountConnectors.httpProxyWrite
  • developerconnect.accountConnectors.fetchUserRepositories

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Membuat repositori Git BigQuery Studio

Saat membuat repositori Git, pertimbangkan persyaratan berikut:

  • Menghubungkan repositori Git jarak jauh ke repositori Git dapat gagal jika repositori jarak jauh tidak terbuka untuk internet publik, misalnya, jika repositori tersebut berada di balik firewall. Dalam hal ini, tambahkan rentang alamat IP keluar Dataform yang diperlukan ke aturan firewall Anda untuk mengaktifkan koneksi ke repositori jarak jauh yang dilindungi.
  • Untuk membuat repositori Git yang terhubung ke repositori Git jarak jauh yang tidak masuk dalam daftar yang diizinkan di kebijakan organisasi dataform.restrictGitRemotes, tambahkan terlebih dahulu repositori Git jarak jauh ke daftar allowedValues dalam kebijakan, lalu buat repositori Git. Untuk mengetahui informasi selengkapnya, lihat Membatasi repositori jarak jauh.

Untuk membuat repositori Git, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman BigQuery.

    Buka BigQuery

  2. Di panel kiri, klik File untuk membuka browser file.

    Jika Anda tidak melihat panel kiri, klik Luaskan panel kiri untuk membuka panel.

  3. Di samping node root pengguna, klik Lihat tindakan > Buat > Repositori Git.

  4. Masukkan URL untuk repositori Git jarak jauh Anda.

  5. BigQuery Studio mendeteksi apakah konektor akun Developer Connect yang ada tersedia. Anda memiliki opsi berikut ini:

    • Jika konektor akun ditemukan, nama tampilan untuk repositori Git akan diisi otomatis. Anda dapat mengedit nilai ini.
    • Jika tidak ada konektor akun, klik Buat konektor akun untuk membuat konektor akun baru.
    • Jika Anda tidak ingin menggunakan konektor akun Developer Connect, klik Gunakan jenis koneksi lain untuk terhubung menggunakan HTTPS atau SSH.
  6. Klik Hubungkan.

Mengedit file

Untuk mengedit file, klik node file—seperti skrip SQL atau notebook—untuk membuka file di tab editor baru.

Setiap perubahan yang Anda buat akan otomatis disimpan.

Kelola file

Anda dapat melakukan tugas pengelolaan standar menggunakan menu tindakan yang terkait dengan setiap item. Untuk mengakses opsi ini, klik Buka tindakan di samping direktori atau file.

Di tingkat direktori, Anda dapat melakukan tugas berikut:

  • Buat di repositori: buat aset kode baru termasuk kueri SQL, notebook, kanvas data, persiapan data, file, atau subdirektori.
  • Upload ke repositori: mengimpor file yang ada dari komputer lokal Anda ke direktori yang dipilih.
  • Ganti nama: mengubah nama direktori.
  • Pindahkan: memindahkan direktori. Anda hanya dapat memindahkan direktori ke lokasi lain dalam repositori Git yang sama. Untuk mengetahui informasi selengkapnya, lihat Memindahkan atau menyalin file dan direktori.
  • Hapus: menghapus direktori dan semua isinya secara permanen dari ruang kerja lokal Anda.

Di tingkat file, Anda dapat melakukan tugas berikut:

  • Buka atau Buka di: melihat file di editor default atau aplikasi tertentu, misalnya, lingkungan notebook tertentu.
  • Ganti nama: mengubah nama file.
  • Salin: membuat duplikat file. Anda hanya dapat menyalin file ke direktori dalam repositori Git yang sama.
  • Pindahkan: memindahkan file ke direktori lain dalam repositori Git yang sama. Untuk mengetahui informasi selengkapnya, lihat Memindahkan atau menyalin file dan direktori.
  • Download: menyimpan salinan file ke mesin lokal Anda.
  • Hapus: menghapus file dari ruang kerja Anda.

Memindahkan atau menyalin file dan direktori

Anda dapat memindahkan atau menyalin file dan direktori, tetapi file dan direktori tersebut harus tetap berada dalam repositori Git yang sama.

  1. Di konsol Google Cloud , buka halaman BigQuery.

    Buka BigQuery

  2. Di panel kiri, klik File untuk membuka browser file.

  3. Temukan file atau direktori yang ingin Anda pindahkan atau salin.

  4. Klik Buka tindakan > Pindahkan atau Salin.

  5. Pada dialog yang muncul, pilih direktori target dalam repositori Git yang sama.

  6. Klik Pindahkan atau Salin.

Menyimpan data (commit) dan mendorong perubahan

Untuk menyinkronkan hasil edit lokal dengan repositori jarak jauh, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman BigQuery.

    Buka BigQuery

  2. Di panel kiri, klik Repository.

  3. Opsional: Arahkan kursor ke file yang diubah, lalu klik Lihat perbedaan untuk melihat perbandingan baris demi baris antara versi lokal Anda dan versi terakhir yang di-commit.

  4. Di kolom Pesan commit, masukkan deskripsi perubahan Anda.

  5. Klik Commit. Perubahan Anda disimpan ke histori Git cabang lokal Anda.

  6. Klik Push to remote branch. Perubahan Anda disinkronkan dengan repositori jarak jauh.

Lihat cabang baru

Anda dapat mengelola cabang lokal dan membuat cabang lokal baru berdasarkan cabang pelacakan lokal atau jarak jauh yang ada.

Di tab Repository, di bagian Branches, Anda dapat melihat cabang lokal yang di-checkout. Label CURRENT menunjukkan cabang aktif Anda, dan label DEFAULT menunjukkan cabang default repositori.

Untuk meng-checkout cabang baru, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman BigQuery.

    Buka BigQuery

  2. Di panel kiri, klik Repository.

  3. Luaskan bagian Cabang.

  4. Klik Open actions di samping cabang, lalu klik Check out new branch.

  5. Di menu Source branch, pilih cabang yang ingin Anda jadikan dasar untuk cabang baru, misalnya, origin/main.

  6. Di kolom Branch name, masukkan nama untuk cabang baru.

  7. Klik Check out. BigQuery Studio akan memeriksa cabang sumber terlebih dahulu. Jika nama cabang yang diberikan menunjukkan cabang baru, cabang tersebut akan dibuat berdasarkan sumber tersebut. Cabang baru menjadi cabang aktif, dan konten repositori Git Anda akan otomatis diperbarui untuk mencerminkan status cabang yang di-checkout.

Mengakses file notebook di pemasangan repositori Git

Saat Anda mengakses notebook dari dalam repositori Git BigQuery Studio, Anda dapat memasang repositori Git host ke runtime notebook. Pemasangan adalah koneksi yang membuat repositori Git jarak jauh Anda tampak seolah-olah merupakan repositori lokal di runtime notebook Anda. Dengan demikian, notebook Anda dapat langsung mengakses, membaca, dan menulis ke file lain serta skrip kueri dalam repositori yang sama.

Pasang repositori Git

Untuk mem-mount repositori Git, jalankan kode Python berikut di notebook Anda:

from google_dataform_fuse_widget import FuseWidget
FuseWidget()

Saat notebook terhubung ke mount, perubahan berikut akan terjadi:

  • Direktori kerja saat ini untuk sesi notebook diperbarui untuk mencerminkan jalur relatifnya dalam repositori Git. Hal ini memastikan akses file berbasis jalur berfungsi secara otomatis.
  • Jalur repositori Git di runtime notebook ditambahkan ke jalur sistem Python, yang memungkinkan Anda menggunakan pernyataan impor Python standar untuk memuat skrip dan file kueri dari repositori Git langsung ke notebook.

Mengelola pemasangan dan koneksi

Gunakan kontrol berikut untuk mengelola ruang kerja Anda:

  • Mount workspace: memulai proses pemasangan untuk repositori Git. Pemasangan adalah resource bersama, jadi jika beberapa notebook di runtime Colab yang sama menggunakan repositori Git yang sama, notebook tersebut akan menggunakan pemasangan yang sama.
  • Lepaskan workspace: menghentikan proses pemasangan untuk repositori Git. Melepas pemasangan ruang kerja akan membuat pemasangan tidak tersedia untuk semua notebook di runtime Colab yang menggunakannya.
  • Hubungkan ruang kerja: memulai koneksi ke pemasangan aktif untuk sesi notebook saat ini. Menghubungkan akan memperbarui direktori kerja dan jalur sistem notebook untuk menyertakan repositori Git, yang memungkinkan Anda mengakses dan mengimpor file.
  • Lepaskan koneksi ruang kerja: mengakhiri koneksi pemasangan untuk sesi notebook saat ini dan meresetnya ke status default. Menghubungkan tidak memengaruhi status koneksi pemasangan untuk sesi notebook aktif lainnya. Untuk mengakhiri koneksi sesi Anda, sebaiknya gunakan tombol Putuskan koneksi ruang kerja.
  • Perbaikan: memulihkan pemasangan atau koneksi ke status sehat jika menjadi tidak dapat digunakan.

Setelah Anda menginisialisasi pemasangan, lihat kolom Status untuk mengetahui kondisi real-time dan jalur aktif pemasangan. Status respons yang mungkin adalah Terhubung, Terpasang, Berhenti, dan Tidak responsif.

Langkah berikutnya