Lieferfahrzeug für geplante Aufgaben erstellen

In diesem Dokument wird beschrieben, wie Sie mit entweder gRPC oder REST. Sie können ein Fahrzeug über das Driver SDK erstellen, sofern Sie die App mit den entsprechenden Anmeldedaten als vertrauenswürdige Umgebung bereitgestellt haben.

Informationen zum Erstellen von Fahrzeugen mit dem Driver SDK finden Sie hier:

Um ein neues Fahrzeug aus einer Serverumgebung zu erstellen, erstellen Sie eine CreateDeliveryVehicle-Anfrage an Fleet Engine. Verwenden Sie die Methode CreateDeliveryVehicleRequest-Objekt zum Definieren der Attribute des neuen Lieferfahrzeug.

Felder für Fahrzeuge mit geplanten Aufgaben

Beim Erstellen einer DeliveryVehicle legen Sie die folgenden optionalen Felder fest:

  • attributes
  • last_location
  • type

Wenn Sie ein Fahrzeug erstellen möchten, ohne optionale Felder festzulegen, können Sie das Feld Das Feld DeliveryVehicle wurde in CreateDeliveryVehicleRequest aufgehoben.

Fahrzeugbeispiel erstellen

Sie können die Java gRPC-Bibliothek oder REST verwenden, um ein Fahrzeug zu erstellen.

Java

  static final String PROJECT_ID = "my-delivery-co-gcp-project";
  static final String VEHICLE_ID = "vehicle-8241890"; // Avoid auto-incrementing IDs.

  DeliveryServiceBlockingStub deliveryService =
    DeliveryServiceGrpc.newBlockingStub(channel);

  // Vehicle settings
  String parent = "providers/" + PROJECT_ID;
  DeliveryVehicle vehicle = DeliveryVehicle.newBuilder()
    .addAttributes(DeliveryVehicleAttribute.newBuilder()
      .setKey("route_number").setValue("1"))  // Opaque to the Fleet Engine
    .build();

  // Vehicle request
  CreateDeliveryVehicleRequest createVehicleRequest =
    CreateDeliveryVehicleRequest.newBuilder()  // No need for the header
        .setParent(parent)
        .setDeliveryVehicleId(VEHICLE_ID)     // Vehicle ID assigned by the Provider
        .setDeliveryVehicle(vehicle)
        .build();

  // Error handling
  // If Fleet Engine does not have vehicle with that ID and the credentials of the
  // requestor pass, the service creates the vehicle successfully.

  try {
    DeliveryVehicle createdVehicle =
      deliveryService.createDeliveryVehicle(createVehicleRequest);
  } catch (StatusRuntimeException e) {
    Status s = e.getStatus();
    switch (s.getCode()) {
       case ALREADY_EXISTS:
         break;
       case PERMISSION_DENIED:
         break;
    }
    return;
  }

REST

Führen Sie einen HTTP-REST-Aufruf aus, um ein Fahrzeug aus einer Serverumgebung zu erstellen an CreateDeliveryVehicle:

POST https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles?deliveryVehicleId=<id>

Der POST-Body stellt die zu erstellende DeliveryVehicle-Entität dar. Sie können die folgenden optionalen Felder angeben:

  • attributes
  • lastLocation
  • type
  # Set $JWT, $PROJECT_ID, and $VEHICLE_ID in the local
  # environment
  curl -X POST "https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles?deliveryVehicleId=${VEHICLE_ID}" \
    -H "Content-type: application/json" \
    -H "Authorization: Bearer ${JWT}" \
  --data-binary @- << EOM
  {
    "attributes": [{"key": "model", "value": "sedan"}],
    "lastLocation": {"location": {"latitude": 12.1, "longitude": 14.5}}
  }
  EOM

Wenn Sie ein Fahrzeug erstellen möchten, ohne Felder festzulegen, lassen Sie den Text der POST-Anfrage unverändert Anfrage leer. Das neu erstellte Fahrzeug extrahiert dann eine Fahrzeug-ID aus dem Parameter deliveryVehicleId in der POST-URL.

Beispiel:

  # Set $JWT, $PROJECT_ID, and $VEHICLE_ID in the local
  # environment
  curl -X POST "https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles?deliveryVehicleId=${VEHICLE_ID}" \
    -H "Content-type: application/json" \
    -H "Authorization: Bearer ${JWT}"

Nächste Schritte