Hướng dẫn này giới thiệu về việc phát hành thử nghiệm các phương thức API OptimizeToursLongRunning
và OptimizeToursUri cho phép người dùng đưa ra các yêu cầu tối ưu hoá không chặn duy nhất. Trong quá trình tối ưu hoá không chặn, người dùng
sẽ nhanh chóng nhận được một proto Operation từ phương thức có thể dùng
để tham chiếu đến trạng thái tối ưu hoá bằng cách gọi GetOperation.
Xem phần Thao tác chạy dài
để biết thêm thông tin 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 chặn OptimizeTours 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 quá trình tối ưu hoá được
liên kết với một Thao tác chạy dài (LRO).
Những người dùng muốn đưa yêu cầu tối ưu hoá nội tuyến có thể sử dụng phương thức
OptimizeToursLongRunning trong khi những người dùng muốn tải
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ụ: Đưa ra 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 mã hoặc số dự án trên Cloud.
Lệnh sau đây gửi yêu cầu
OptimizeToursLongRunningđến API Tối ưu hoá tuyến đường và nhận được một mã thao tác được liên kết với yêu cầu đó. Bạn có thể 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, siêu dữ liệu cũng chứa cuối cùngOptimizeToursResponse.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 và phản hồi tối ưu hoá 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 OptimizeToursRequest duy nhất đã gửi.
Ví dụ: Đưa ra 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 mã hoặc số dự án trên Cloud.
Lệnh sau đây gửi yêu cầu
OptimizeToursUriđến API Tối ưu hoá tuyến đường và nhận được một mã thao tác được 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,OptimizeToursResponsesẽ đượ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