Halaman ini menjelaskan cara mengelola siklus proses operasi yang berjalan lama (LRO) di Gemini Enterprise.
Objek operasi yang berjalan lama akan ditampilkan saat panggilan
ke metode mungkin memerlukan waktu lama untuk diselesaikan. Misalnya, Gemini Enterprise API membuat operasi yang berjalan lama saat Anda memanggil
documents.import
melalui API atau Library Klien. Operasi ini melacak status tugas pemrosesan.
Anda dapat menggunakan metode operasi yang berjalan lama yang disediakan Gemini Enterprise API untuk memeriksa status operasi. Anda juga dapat mencantumkan atau melakukan polling operasi.
Catatan operasi disimpan selama sekitar 30 hari setelah operasi selesai, yang berarti Anda tidak dapat melihat atau mencantumkan operasi setelah waktu tersebut.
Mencantumkan operasi yang berjalan lama
Berikut ini cara mencantumkan operasi untuk a Google Cloud resource.
REST
Untuk mencantumkan operasi yang berjalan lama untuk a Google Cloud resource, ikuti langkah berikut:
Panggil metode:
operations.listcurl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations"DATA_STORE_ID: ID penyimpanan data Gemini Enterprise yang dibuat dengan mesin Anda. Di URL konsol Google Cloud , ID penyimpanan data muncul setelahengines/dan sebelum/data.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Gemini Enterprise menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Gemini Enterprise Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Gemini Enterprise, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Mendapatkan detail tentang operasi yang berjalan lama
Berikut ini cara mendapatkan detail tentang operasi.
REST
Untuk mendapatkan status dan melihat detail tentang operasi yang berjalan lama, ikuti langkah-langkah berikut:
Temukan nama operasi dengan salah satu dari dua cara berikut:
Setelah melakukan panggilan ke metode yang menampilkan operasi yang berjalan lama, tinjau responsnya.
Misalnya, jika Anda memanggil
documents.import, awal respons akan terlihat seperti ini:{ "operations": [ { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1.ImportDocumentsMetadata", } } ] }Nilai
namedalam respons memberikan nama operasi, yang dapat digunakan untuk mengkueri status operasi. Jangan sertakan tanda kutip saat Anda menyalin nama operasi.Dapatkan nama operasi dengan mencantumkan operasi yang berjalan lama operasi.
Panggil metode
operations.getpada resource yang membuat operasi:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME"OPERATION_NAME: Berikan nama operasi yang informasinya Anda butuhkan. Anda dapat menemukan nama operasi dengan mencantumkan operasi yang berjalan lama.Baris pertama respons dari perintah
GETakan terlihat seperti ini:{ "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1.ImportDocumentsMetadata" } }
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Gemini Enterprise menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Gemini Enterprise Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Gemini Enterprise, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Polling operasi yang berjalan lama
Berikut ini cara melakukan polling status operasi.
REST
Untuk melakukan polling operasi yang berjalan lama hingga selesai, ikuti langkah-langkah berikut:
Jalankan perintah berikut, yang memanggil metode
operations.getberulang kali, menggunakan backoff 10 detik di antara setiap permintaan:while true; \ do curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME"; \ sleep 10; \ doneOPERATION_NAME: Berikan nama operasi yang ingin Anda polling. Anda dapat menemukan nama operasi dengan mencantumkan operasi yang berjalan lama. Misalnya,projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789.Hentikan tugas polling (
Control+Z) setelah status menampilkan"done": true.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Gemini Enterprise menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Gemini Enterprise Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Gemini Enterprise, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Membatalkan operasi yang berjalan lama
Berikut ini cara membatalkan operasi:
REST
Untuk membatalkan operasi yang berjalan lama, ikuti langkah-langkah berikut:
Panggil metode:
operations.cancelcurl -X post \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME":cancelOPERATION_NAME: Berikan nama operasi yang ingin Anda batalkan. Anda dapat menemukan nama operasi dengan mencantumkan operasi yang berjalan lama. Misalnya,projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789.Setelah panggilan API dilakukan, server akan mencoba membatalkan operasi. Hasil yang Anda lihat dan tindakan yang dapat Anda lakukan adalah sebagai berikut:
- Error dengan
"code": 400dan"status": "FAILED_PRECONDITION"menunjukkan bahwa permintaan tidak dapat dibatalkan. Pembatalan yang berhasil akan menghasilkan objek JSON kosong. Untuk memverifikasi pembatalan:
- Gunakan metode
operations.get. Jika operasi berhasil dibatalkan, respons dari metode
operations.getakan memiliki error"code": 1, yang mewakili kode statusCANCELLED.Contoh:
{ "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.ImportDocumentsMetadata", "createTime": "2025-04-28T21:29:21.199190Z", "updateTime": "2025-04-28T21:31:29.076865Z" }, "done": true, "error": { "code": 1, "message": "Operation projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789 is cancelled." } }
- Gunakan metode
- Error dengan
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Gemini Enterprise menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Gemini Enterprise Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Gemini Enterprise, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.