Fleet Engine での車両の仕組みに関する一般的な情報については、Fleet Engine の基本セクションの次のガイドをご覧ください。
このセクションのドキュメントでは、Fleet Engine で車両を作成して管理する方法について説明します。Fleet Engine サーバー環境で車両を作成して、実際の運用で使われている車両をミラーリングします。Fleet Engine の車両は、車両の割り当てとルート設定に使用するバックエンド システムで使用されている車両にも対応している必要があります。
作成メソッドを使用して、gRPC または REST を使用して車両リソースを作成します。このガイドのフィールド名は、わかりやすくするために 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 リクエスト ヘッダーを示しています。このヘッダーには、
Authorizationフィールドと値Bearer <token>が含まれている必要があります。ここで、<token>は発行する JSON ウェブトークンです。
詳細については、Fleet Engine の設定ガイドをご覧ください。
車両リソース フィールド
車両リソースには次の種類のフィールドがあります。
- 出力専用フィールド。別のメソッドの出力としてサービスによって設定され、直接設定できないフィールド。このタイプの重要なフィールドは
nameフィールドです。Fleet Engine は、Google AIP のユーザー指定 IDに関するガイダンスに従って、車両の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 のリソース命名をご覧ください。
一意のエンティティ ID
リソース呼び出しで使用される一意のエンティティ識別子の形式と値は、Fleet Engine には公開されません。識別子に、運転手の電話番号などの個人を特定できる情報(PII)が含まれていないことを確認します。
車両の再利用
車両が特定の旅程のすべての停車地を完了すると、Fleet Engine で 7 日間再利用可能になります。つまり、新しい車両を作成しなくても、後続の営業日に車両を再利用できます。車両を再利用するたびに、Fleet Engine は車両の可用性をリセットし、7 日間のカウントダウンが新たに開始されます。
Fleet Engine で車両を利用可能な状態に保つには、定期的に位置情報を更新することをおすすめします。Vehicle エンティティの他のほとんどのフィールドを更新した場合も、新しいフィールド値が既存の値と異なる場合は、有効期間が延長されます。
注: Vehicle エンティティの一部のフィールド(device_settings など)は、Fleet Engine によって保持されない純粋なデバッグ情報です。更新しても、Vehicle エンティティの有効期間は延長されません。
システム分析を改善するため、ドライバーと車両の ID のペアを毎日再利用することをおすすめします。これを行うには、以前の予約済み停車地またはオンデマンドの乗車で運転手に関連付けられたものと同じ車両 ID を使用します。