Halaman ini menjelaskan cara mengelola siklus proses operasi yang berjalan lama (LRO) di Penelusuran Agen.
Objek operasi yang berjalan lama akan ditampilkan saat panggilan
ke metode mungkin memerlukan waktu lama untuk diselesaikan. Misalnya, Discovery Engine 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 Discovery Engine 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 ini:
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 Penelusuran Agen yang dibuat dengan mesin Anda. Di URL konsol Google Cloud , ID penyimpanan data muncul setelahengines/dan sebelum/data.
Python
Untuk mengetahui informasi selengkapnya, lihat Penelusuran Agen Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Penelusuran Agen, 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 membuat kueri 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
Untuk mengetahui informasi selengkapnya, lihat Penelusuran Agen Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Penelusuran Agen, 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 lakukan 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
Untuk mengetahui informasi selengkapnya, lihat Penelusuran Agen Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Penelusuran Agen, 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
Untuk mengetahui informasi selengkapnya, lihat Penelusuran Agen Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Penelusuran Agen, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.