Điểm cuối đồng bộ và không đồng bộ

Nhà phát triển ở Khu vực kinh tế Châu Âu (EEA)

Route Optimization API (API Tối ưu hoá tuyến đường) cung cấp 2 phương thức:

  • OptimizeTours là một phương thức đồng bộ trả về một tuyến đường được tối ưu hoá để phản hồi OptimizeToursRequest. Ứng dụng phải duy trì kết nối mở với Route Optimization API cho đến khi yêu cầu được xử lý và OptimizeToursResponse hoặc lỗi được trả về.
  • BatchOptimizeTours là một phương thức không đồng bộ chấp nhận URI cho một hoặc nhiều thông báo OptimizeToursRequestOptimizeToursResponse tương ứng, trả về tên tài nguyên của một Long Running Operation (LRO) (REST, gRPC) dùng để kiểm tra xem lô đã hoàn tất hay chưa. OptimizeToursRequest được xử lý ở chế độ nền, vì vậy, ứng dụng chỉ duy trì kết nối mở với Route Optimization API đủ lâu để gửi BatchOptimizeToursRequest hoặc gọi GetOperation để kiểm tra trạng thái LRO status. BatchOptimizeTours đọc các yêu cầu từ và ghi các phản hồi vào Google Cloud Storage.

Trường hợp sử dụng

OptimizeTours rất hữu ích để giải quyết các yêu cầu nhỏ và đơn giản hoặc các yêu cầu có thời gian giải quyết từ vài phút trở xuống. Việc duy trì kết nối liên tục với Route Optimization API sẽ làm tăng nguy cơ bị gián đoạn trước khi có thể trả về giải pháp.

BatchOptimizeTours có thể xử lý các yêu cầu lớn hơn và các yêu cầu có thời gian giải quyết lâu hơn vì không yêu cầu kết nối liên tục với Route Optimization API.

Hoạt động chạy trong thời gian dài

LRO được đọc từ Route Optimization API bằng phương thức GetOperation để kiểm tra trạng thái hoàn tất của một lô. LRO bao gồm một thuộc tính done cho biết liệu quá trình xử lý toàn bộ lô đã hoàn tất hay chưa và một trường error báo cáo các lỗi gặp phải trong quá trình xử lý. Nếu done là true và không có error, thì lô đã hoàn tất thành công. Sự hiện diện của error cho biết một số hoặc tất cả lô đã không xử lý được.

Vòng đời điển hình của yêu cầu BatchOptimizeTours như sau:

  1. Gửi BatchOptimizeToursRequest đến Route Optimization API, API này sẽ trả về tên tài nguyên của một LRO.
  2. Thăm dò ý kiến GetOperation bằng tên tài nguyên LRO được trả về cho đến khi thuộc tính done hoặc error xuất hiện trong phản hồi LRO.
  3. Nếu done là true và không có lỗi nào, hãy đọc OptimizeToursResponses từ URI Google Cloud Storage được chỉ định trong yêu cầu BatchOptimizeTours. Nếu có error, hãy kiểm tra lỗi, cập nhật OptimizeToursRequest tương ứng trong Google Cloud Storage và thử lại nếu thích hợp tuỳ thuộc vào lỗi quan sát được.

Bạn có thể gửi yêu cầu OptimizeToursBatchOptimizeTours theo nhiều cách, từ dòng lệnh hoặc bằng thư viện ứng dụng.

Tiếp theo: Thực hiện yêu cầu API