Menjalankan tugas secara terprogram
Untuk menjalankan tugas BigQuery secara terprogram menggunakan REST API atau library klien, Anda:
- Panggil metode
jobs.insert. - Minta resource tugas secara berkala dan periksa properti status untuk mengetahui kapan tugas selesai.
- Periksa apakah tugas berhasil diselesaikan.
Sebelum memulai
Berikan peran Identity and Access Management (IAM) yang memberi pengguna izin yang diperlukan untuk melakukan setiap tugas dalam dokumen ini.
Izin yang diperlukan
Untuk menjalankan tugas BigQuery, Anda memerlukan izin IAM bigquery.jobs.create.
Setiap peran IAM yang telah ditetapkan berikut menyertakan izin yang Anda perlukan untuk menjalankan tugas:
roles/bigquery.userroles/bigquery.jobUserroles/bigquery.admin
Selain itu, saat membuat tugas, Anda otomatis diberi izin berikut untuk tugas tersebut:
bigquery.jobs.getbigquery.jobs.update
Untuk informasi lebih lanjut tentang peran dan izin IAM di BigQuery, lihat Peran dan izin bawaan.
Tugas yang berjalan
Untuk menjalankan tugas secara terprogram:
Mulai tugas dengan memanggil metode
jobs.insert. Saat Anda memanggil metodejobs.insert, sertakan representasi resource tugas.Di bagian
configurationpada resource tugas, sertakan properti turunan yang menentukan jenis tugas, yaituload,query,extract, ataucopy.Setelah memanggil metode
jobs.insert, periksa status tugas dengan memanggiljobs.getmenggunakan ID tugas dan lokasi, lalu periksa nilaistatus.stateuntuk melihat status tugas. Jikastatus.stateadalahDONE, tugas telah berhenti berjalan. Namun, statusDONEtidak berarti tugas berhasil diselesaikan, hanya saja tugas tersebut tidak lagi berjalan.Memeriksa keberhasilan tugas. Tugas gagal diselesaikan jika memiliki properti
errorResult. Propertistatus.errorResultmenyimpan informasi yang menjelaskan kesalahan dalam tugas yang gagal. Jikastatus.errorResulttidak ada, tugas berhasil diselesaikan, meskipun mungkin ada beberapa error tidak fatal, seperti masalah saat mengimpor beberapa baris dalam tugas pemuatan. Error tidak fatal ditampilkan dalam daftarstatus.errorstugas.
Menjalankan tugas menggunakan library klien
Untuk membuat dan menjalankan tugas menggunakan Library Klien Cloud untuk BigQuery:
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery C# API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Menambahkan label tugas
Label dapat ditambahkan ke tugas kueri melalui command line menggunakan
flag --label pada alat command line bq. Alat bq mendukung penambahan
label hanya ke tugas kueri.
Anda juga dapat menambahkan label ke tugas saat dikirim melalui API dengan menentukan
properti labels dalam konfigurasi tugas saat Anda memanggil
metode jobs.insert. API ini
dapat digunakan untuk menambahkan label ke jenis tugas apa pun.
Anda tidak dapat menambahkan label ke atau memperbarui label pada tugas yang tertunda, sedang berjalan, atau telah selesai.
Saat Anda menambahkan label ke pekerjaan, label tersebut akan disertakan dalam data penagihan Anda.
Untuk informasi selengkapnya, lihat Menambahkan label tugas.
Langkah berikutnya
- Lihat Menjalankan kueri untuk contoh kode yang memulai dan melakukan polling tugas kueri.
- Untuk informasi selengkapnya tentang cara membuat representasi resource tugas, lihat halaman ringkasan Tugas dalam referensi API.