OptimizeTours と BatchOptimizeTours の比較

Route Optimization API は、次の 2 つのメソッドを公開します。

  • OptimizeTours は、最適化されたルートを返す同期メソッドです。 OptimizeToursRequest に対するレスポンス。クライアントはオープン状態を維持し、 Route Optimization API への接続が維持され、リクエストが処理され、 OptimizeToursResponse またはエラーが返される。
  • BatchOptimizeTours は、1 つの URI を受け取る非同期メソッドです。 またはそれ以上の OptimizeToursRequest と対応する OptimizeToursResponse 長時間実行オペレーション(LRO)のリソース名を返します。 (RESTgRPC)でバッチ完了の確認に使用します。 OptimizeToursRequest はバックグラウンドで処理されるため、クライアントは Route Optimization API を送信するのに十分な期間のみ、Route Optimization API をオープン接続 BatchOptimizeToursRequest を確認するか、GetOperation を呼び出して LRO を確認する ステータスです。BatchOptimizeTours は、リクエストを読み取り、レスポンスを書き込みます。 Google Cloud Storage

ユースケース

OptimizeTours は、小規模で単純なリクエストを処理する場合や、 わずか数分以内で実行できます長期的な有効性の維持 Route Optimization API への接続が機能しなくなる前に中断が発生するリスクが 解答を返すことができます

BatchOptimizeTours は、より大きなリクエストや、より長い解決時間でリクエストを処理できます このルートでは、Route への長時間接続が不要なため、 最適化 API。

長時間実行オペレーション

LRO は、GetOperation メソッドを使用して Route Optimization API から読み取って、次の処理を行います。 バッチの完了ステータスを確認しますLRO には、次の done プロパティが含まれます。 バッチ全体の処理が完了したかどうかを示します。error フィールドに、処理中に発生したエラーが報告されます。done が true で、かつ error が存在しない場合、バッチは正常に完了しました。特定の error は、バッチ処理の一部またはすべてが失敗したことを示します。

BatchOptimizeTours リクエストの一般的なライフサイクルは次のとおりです。

  1. BatchOptimizeToursRequest を Route Optimization API に送信します。これにより、 LRO のリソース名を返します。
  2. done になるまで、返された LRO リソース名で GetOperation をポーリングします。 error プロパティが LRO レスポンスに含まれます。
  3. done が true でエラーが存在しない場合は、OptimizeToursResponses を読み取ります。 BatchOptimizeTours で指定された Google Cloud Storage URI から取得できます。 リクエストできます。error が存在する場合は、エラーを調べて Google Cloud Storage で OptimizeToursRequest が適用され、次のように再試行します。 決定します。

OptimizeTours リクエストと BatchOptimizeTours リクエストは、さまざまな形式で送信できます コマンドラインかクライアント ライブラリを使用します。

次へ: API リクエストを行う