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 つのフィールドに基づいて、車両を作成するときにフィールドを定義します。
親:
providers/{provider}
形式の Google Cloud プロジェクト ID に関連付けられた文字列。ここで、{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 を使用します。