Fleet Engine での車両の仕組みに関する一般的な情報については、Fleet Engine の基本セクションにある次のガイドをご覧ください。
このセクションのドキュメントでは、Fleet Engine で車両を作成して管理する方法について説明します。実際の運用中の実際の車両をミラーリングするために、Fleet Engine サーバー環境で車両を作成します。Fleet Engine の車両は、車両の割り当てとルーティングに使用するバックエンド システムで使用される車両に対応している必要があります。
車両リソースを作成するには、gRPC または REST を使用して create メソッドを使用します。このガイドのフィールド名は、わかりやすくするために gRPC 表記を使用しています。
オンデマンド ルート
CreateVehicleRequest
(gRPC)providers.vehicle.create
(REST)Vehicle
リソース(REST、gRPC)
スケジュール設定されたタスク
CreateDeliveryVehicleRequest
(gRPC)providers.deliveryVehicles.create
(REST)DeliveryVehicle
(REST、gRPC)
車両のリクエスト
オンデマンド タスク機能とスケジュール設定されたタスク機能の両方で、次に示すフィールドを含むリクエスト メッセージを発行して、車両を作成および更新します。
- 親: Google Cloud プロジェクト ID に関連付けられた文字列。車両インスタンスの名前フィールドに入力されます。
車両の ID: 車両の
name
フィールドに入力するために使用される一意の文字列。必須フィールドを含む車両インスタンス。これらのフィールドは、使用する Fleet Engine の機能によって異なります。
リクエスト本文の情報は、リクエストの性質によって異なります。詳細については、それぞれのガイドをご覧ください。
認証トークンと認可トークン
Fleet Engine へのリクエストでは、適切なアクセス認証情報も指定する必要があります。このガイドの例では、次のことを前提としています。
- gRPC の例では、Java の認可ライブラリを使用しています。
- REST の例は HTTP リクエスト ヘッダーを示しています。このヘッダーには、値が
Bearer <token>
のフィールドAuthorization
が含まれている必要があります。ここで、<token>
は発行した JSON Web Token です。
詳細については、Fleet Engine を設定するガイドをご覧ください。
車両リソースのフィールド
車両リソースには、次の種類のフィールドがあります。
- 出力専用フィールド。別のメソッドの出力としてサービスによって設定され、直接設定できないフィールド。このタイプの重要なフィールドは
name
フィールドです。Fleet Engine は、ユーザー指定の ID に関する Google AIP のガイダンスに従い、車両のname
フィールドに指定された値を無視します。これらのフィールドに値を指定すると、Fleet Engine はエラーを返します。 - 必須項目。オンデマンド ルートサービスで作成する車両では、作成時に特定のフィールドを設定する必要があります。スケジュールされたタスク サービスで作成された車両には、必須の車両リソース フィールドはありません。
- 省略可能なフィールド。どちらのサービスにも、作成時または作成後に設定できるフィールドがあります。これらは、使用するサービスのそれぞれのリファレンス ガイドで確認できます。
車両名(出力のみ)
name
フィールドは、オンデマンド ルートサービスとスケジュール設定されたタスクサービスでまったく同じです。Fleet Engine は、車両の作成時に設定した次の 2 つのフィールドに基づいて、車両の作成時にフィールドを定義します。
親: Google Cloud プロジェクト ID に関連付けられた文字列。形式は
providers/{provider}
です。ここで、{provider}
は Cloud プロジェクトの ID です。特定のプロジェクト用に作成する各車両には、同じ親パスが設定されます。ここで参照する Cloud プロジェクトには、使用するサービスの Fleet Engine サービス アカウントのロールが含まれている必要があります。これらのサービス アカウントの一覧については、サービス アカウントをご覧ください。Fleet Engine は、複数の Google Cloud プロジェクトからのアクセスをサポートしていません。
車両の ID。フリート内のすべての車両で一意で、有効な Unicode 文字列である必要があります。これは、車両のリソース ID です。オンデマンド ルートとスケジュール設定された停留所の両方で、ルートまたはタスクを完了した車両に関連付けるために使用されます。
Google Cloud ベースのサービスでは、すべての API でリソースを文字列として表す必要があります。詳細については、Fleet Engine のリソース命名をご覧ください。
エンティティの一意の識別子
リソース呼び出しで使用される一意のエンティティ識別子の形式と値は、Fleet Engine に対して不透明です。識別子に、運転手の電話番号などの個人を特定できる情報(PII)が含まれていないことを確認してください。
車両の再利用
車両が特定のルートのすべての停留所を完了した後、Fleet Engine で 7 日間再利用できます。つまり、新しい車両を作成せずに、その後の営業日に車両を再利用できます。車両を再利用するたびに、Fleet Engine は車両の空き状況をリセットします。この時点で 7 日間のカウントダウンが新たに開始されます。
Fleet Engine で車両を利用可能に保つには、定期的に位置情報を更新することをおすすめします。Vehicle
エンティティの他のほとんどのフィールドを更新すると、新しいフィールド値が既存のフィールド値と異なる場合、有効期間も延長されます。
注: device_settings
などの Vehicle
エンティティの一部のフィールドは、Fleet Engine によって永続化されない純粋なデバッグ情報です。更新しても、Vehicle
エンティティの存続期間は延長されません。
システム分析を改善するには、同じドライバー ID と車両 ID の組み合わせを毎日再利用することをおすすめします。そのためには、以前の定期停留所やオンデマンド ルートでドライバーに関連付けられたものと同じ車両 ID を使用します。