Hướng dẫn này giới thiệu về bản phát hành thử nghiệm của các phương thức API OptimizeToursLongRunning
và OptimizeToursUri
, cho phép người dùng đưa ra một yêu cầu tối ưu hoá không chặn. Trong quá trình tối ưu hoá không chặn, người dùng nhanh chóng nhận được một proto Operation từ phương thức có thể dùng để tham chiếu trạng thái của quá trình tối ưu hoá bằng cách gọi GetOperation
.
Hãy xem phần Thao tác chạy trong thời gian dài để biết thêm chi tiết.
Các phương thức không chặn này mang lại lợi ích về độ tin cậy so với phương thức OptimizeTours
chặn vì ứng dụng không cần duy trì kết nối với máy chủ trong khi quá trình tối ưu hoá đang được thực thi. Ngoài ra, các phương thức mới này giúp gỡ lỗi lỗi dễ dàng hơn so với BatchOptimizeTours
vì mỗi hoạt động tối ưu hoá được liên kết với một Hoạt động chạy trong thời gian dài (LRO).
Những người dùng muốn đưa yêu cầu tối ưu hoá vào cùng dòng có thể sử dụng phương thức OptimizeToursLongRunning
, còn những người dùng muốn tải các yêu cầu và phản hồi đọc lên bằng Google Cloud Storage có thể sử dụng phương thức OptimizeToursUri
.
OptimizeToursLongRunning
Ví dụ: Tạo yêu cầu OptimizeToursLongRunning
Trước khi đưa ra yêu cầu, hãy thay thế các tham số sau bằng các giá trị phù hợp với môi trường của bạn:
- Đảm bảo bạn đã định cấu hình Thông tin xác thực mặc định của ứng dụng như mô tả trong phần Sử dụng OAuth.
Đặt PROJECT_NUMBER_OR_ID thành số hoặc mã dự án trên Google Cloud.
Lệnh sau đây sẽ gửi yêu cầu
OptimizeToursLongRunning
đến Route Optimization API và nhận mã hoạt động liên kết với yêu cầu đó. Bạn có thể dùng phương thứcGetOperation
để truy vấn trạng thái của thao tác. Sau khi thao tác hoàn tất, siêu dữ liệu cũng chứaOptimizeToursResponse
cuối cùng.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
Giống như BatchOptimizeTours
, bạn có thể sử dụng OptimizeToursUri
để tiếp tục lưu trữ yêu cầu tối ưu hoá và phản hồi trên Google Cloud Storage.
Bạn phải chỉ định URI Cloud Storage trong thông báo yêu cầu OptimizeToursUri
.
Trạng thái Operation
được trả về chỉ liên kết với một OptimizeToursRequest
đã gửi.
Ví dụ: Tạo yêu cầu OptimizeToursUri
Trước khi đưa ra yêu cầu, hãy thay thế các tham số sau bằng các giá trị phù hợp với môi trường của bạn:
- Đảm bảo bạn đã định cấu hình Thông tin xác thực mặc định của ứng dụng như mô tả trong phần Sử dụng OAuth.
Đặt PROJECT_NUMBER_OR_ID thành số hoặc mã dự án trên Google Cloud.
Lệnh sau đây sẽ gửi yêu cầu
OptimizeToursUri
đến Route Optimization API và nhận mã hoạt động liên kết với yêu cầu đó. Sử dụng phương thứcGetOperation
để truy vấn trạng thái của thao tác. Sau khi thao tác hoàn tất,OptimizeToursResponse
sẽ được lưu trữ từ xa trên đường dẫn URI đầu ra được cung cấp trong yêu cầu.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