Panduan ini memperkenalkan peluncuran eksperimental metode API OptimizeToursLongRunning
dan OptimizeToursUri yang memungkinkan pengguna membuat satu
permintaan pengoptimalan non-pemblokiran. Dalam pengoptimalan non-pemblokiran, pengguna
akan segera menerima proto Operasi dari metode yang dapat digunakan
untuk mereferensikan status pengoptimalan dengan memanggil GetOperation.
Lihat Operasi yang Berjalan Lama
untuk mengetahui detail selengkapnya.
Metode non-pemblokiran ini memberikan manfaat keandalan dibandingkan metode pemblokiran OptimizeTours karena klien tidak perlu mempertahankan koneksi ke server saat pengoptimalan sedang dijalankan. Selain itu, metode baru ini memudahkan proses debug
kegagalan dibandingkan BatchOptimizeTours karena setiap pengoptimalan dikaitkan dengan satu Operasi yang Berjalan Lama (LRO).
Pengguna yang memilih untuk menyertakan permintaan pengoptimalan dapat menggunakan metode
OptimizeToursLongRunning, sedangkan pengguna yang memilih untuk mengupload
permintaan dan membaca respons menggunakan Google Cloud Storage dapat menggunakan metode
OptimizeToursUri.
OptimizeToursLongRunning
Contoh: Membuat permintaan OptimizeToursLongRunning
Sebelum membuat permintaan, ganti parameter berikut dengan nilai yang sesuai untuk lingkungan Anda:
- Pastikan Anda telah mengonfigurasi Kredensial Default Aplikasi seperti yang dijelaskan dalam Menggunakan OAuth.
Tetapkan PROJECT_NUMBER_OR_ID ke nomor atau ID project Cloud Anda.
Perintah berikut mengirimkan permintaan
OptimizeToursLongRunningke Route Optimization API dan menerima ID operasi yang terkait dengannya. MetodeGetOperationdapat digunakan untuk mengkueri status operasi. Setelah operasi selesai, metadata juga akan berisi finalOptimizeToursResponse.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeToursLongRunning' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", "costPerKilometer": 1.0 } ], } } EOM
OptimizeToursUri
Seperti BatchOptimizeTours, Anda dapat menggunakan OptimizeToursUri untuk terus
menyimpan permintaan dan respons pengoptimalan di Google Cloud Storage.
URI Cloud Storage harus ditentukan dalam pesan permintaan OptimizeToursUri.
Status Operation yang ditampilkan hanya terkait dengan satu OptimizeToursRequest yang dikirimkan.
Contoh: Membuat permintaan OptimizeToursUri
Sebelum membuat permintaan, ganti parameter berikut dengan nilai yang sesuai untuk lingkungan Anda:
- Pastikan Anda telah mengonfigurasi Kredensial Default Aplikasi seperti yang dijelaskan dalam Menggunakan OAuth.
Tetapkan PROJECT_NUMBER_OR_ID ke nomor atau ID project Cloud Anda.
Perintah berikut mengirimkan permintaan
OptimizeToursUrike Route Optimization API dan menerima ID operasi yang terkait dengannya. Gunakan metodeGetOperationuntuk mengkueri status operasi. Setelah operasi selesai,OptimizeToursResponseakan disimpan dari jarak jauh di jalur URI output yang diberikan dalam permintaan.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeToursUri' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "input": { "uri": "gs://bucket/path/input/object.json" }, "output": { "uri": "gs://bucket/path/output/object.json" } } EOM