Route Optimization API 提供两种方法:
OptimizeTours
是一种同步方法,可在 对OptimizeToursRequest
的响应。客户端必须保持开放的 并连接到 Route Optimization API,直到请求处理完毕 返回OptimizeToursResponse
或错误。BatchOptimizeTours
是一种异步方法,可接受某个资源的 URI 或更多OptimizeToursRequest
和相应的OptimizeToursResponse
消息,返回长时间运行的操作 (LRO) 的资源名称 (REST、gRPC),用于检查批量作业的完成情况。OptimizeToursRequest
在后台处理,因此客户端会维护 打开与 Route Optimization API 的连接,时间仅够提交BatchOptimizeToursRequest
或调用GetOperation
以检查 LRO 状态。BatchOptimizeTours
从 Google Cloud Storage。
使用场景
OptimizeTours
适用于处理简单的小请求,或者
处理时间不超过几分钟的请求。保持长期存在
与 Route Optimization API 集成的
即可返回解决方案。
BatchOptimizeTours
可以处理较大的请求,也可以处理耗时较长的请求
因为不需要与路由建立长期连接
Optimization API。
长时间运行的操作
使用 GetOperation
方法从 Route Optimization API 中读取 LRO
检查批次的完成状态。LRO 包含一个 done
属性,
指示整个批次的处理是否已完成,以及 error
字段,用于报告处理过程中遇到的错误。如果 done
为 true 且
不存在 error
,该批次已成功完成。存在
error
表示部分或全部批处理失败。
BatchOptimizeTours
请求的典型生命周期如下:
- 向 Route Optimization API 提交
BatchOptimizeToursRequest
, 返回 LRO 的资源名称。 - 使用返回的 LRO 资源名称对
GetOperation
进行轮询,直到done
或error
属性出现在 LRO 响应中。 - 如果
done
为 true 且不存在错误,请阅读OptimizeToursResponses
从BatchOptimizeTours
中指定的 Google Cloud Storage URI 中 请求。如果存在error
,则检查错误,更新 在 Google Cloud Storage 中相应地存储OptimizeToursRequest
,并以以下身份重试: 根据观察到的错误进行适当调整。
您可以通过多种方式发送 OptimizeTours
和 BatchOptimizeTours
请求,
方法,比如通过命令行或使用客户端库。