Utwórz pojazd dostawczy do realizacji zaplanowanych zadań

W tym dokumencie opisujemy, jak utworzyć pojazd ze środowiska serwera za pomocą gRPC lub REST. Możesz utworzyć pojazd za pomocą pakietu Driver SDK, pod warunkiem że udostępniasz aplikację jako zaufane środowisko przy użyciu odpowiednich dane logowania.

Aby dowiedzieć się, jak używać pakietu Driver SDK do tworzenia pojazdów, przeczytaj te artykuły:

Aby utworzyć nowy pojazd ze środowiska serwera, utwórz CreateDeliveryVehicle prośba do Fleet Engine. Użyj CreateDeliveryVehicleRequest obiekt do definiowania atrybutów nowego pojazdem dostawczym.

Pola pojazdów do zadań zaplanowanych

Podczas tworzenia obiektu DeliveryVehicle ustawiasz te pola opcjonalne:

  • attributes
  • last_location
  • type

Aby utworzyć pojazd bez ustawiania żadnych pól opcjonalnych, możesz zostawić Nie ustawiono pola DeliveryVehicle w CreateDeliveryVehicleRequest.

Przykład tworzenia pojazdu

Do utworzenia pojazdu lub REST możesz użyć biblioteki Java gRPC.

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

Aby utworzyć pojazd w środowisku serwera, wywołaj HTTP REST do CreateDeliveryVehicle:

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

Treść POST reprezentuje encję DeliveryVehicle, która ma zostać utworzona. Dostępne opcje określ te pola opcjonalne:

  • 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

Aby utworzyć pojazd bez ustawiania żadnych pól, pozostaw treść żądania POST. puste żądanie. Nowo utworzony pojazd wyodrębnia identyfikator z deliveryVehicleId w adresie URL żądania POST.

Przykład:

  # 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}"

Co dalej?