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.user
roles/bigquery.jobUser
roles/bigquery.admin
Selain itu, saat membuat tugas, Anda otomatis diberi izin berikut untuk tugas tersebut:
bigquery.jobs.get
bigquery.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
configuration
pada resource tugas, sertakan properti turunan yang menentukan jenis tugas, yaituload
,query
,extract
, ataucopy
.Setelah memanggil metode
jobs.insert
, periksa status tugas dengan memanggiljobs.get
menggunakan ID tugas dan lokasi, lalu periksa nilaistatus.state
untuk melihat status tugas. Jikastatus.state
adalahDONE
, tugas telah berhenti berjalan. Namun, statusDONE
tidak berarti tugas berhasil diselesaikan, hanya saja tugas tersebut tidak lagi berjalan.Memeriksa keberhasilan tugas. Tugas gagal diselesaikan jika memiliki properti
errorResult
. Propertistatus.errorResult
menyimpan informasi yang menjelaskan kesalahan dalam tugas yang gagal. Jikastatus.errorResult
tidak 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.errors
tugas.
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 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 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 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.