W tym dokumencie opisujemy, jak utworzyć pojazd w środowisku serwera za pomocą gRPC lub REST. Możesz utworzyć pojazd za pomocą pakietu Driver SDK, pod warunkiem że aplikacja została udostępniona jako zaufane środowisko przy użyciu odpowiednich danych logowania.
Aby dowiedzieć się, jak używać pakietu Driver SDK do tworzenia pojazdów, zapoznaj się z tymi informacjami:
- Pakiet SDK dla kierowców w przypadku zaplanowanych zadań
- Role konta usługi w sekcji Podstawowe informacje o Fleet Engine.
Aby utworzyć nowy pojazd ze środowiska serwera, wyślij do Fleet Engine żądanie CreateDeliveryVehicle. Użyj obiektu CreateDeliveryVehicleRequest, aby zdefiniować atrybuty nowego pojazdu dostawczego.
Pola dotyczące pojazdów z zaplanowanymi zadaniami
Podczas tworzenia DeliveryVehicle możesz ustawić te pola opcjonalne:
attributeslast_locationtype
Aby utworzyć pojazd bez ustawiania żadnych pól opcjonalnych, możesz pozostawić pole DeliveryVehicle nieustawione w CreateDeliveryVehicleRequest.
Przykład tworzenia pojazdu
Aby utworzyć pojazd, możesz użyć biblioteki gRPC w języku Java lub interfejsu REST. Pełną listę obsługiwanych języków znajdziesz w artykule Biblioteki klienta dla usług zaplanowanych zadań.
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 ze środowiska serwera, wykonaj wywołanie HTTP REST do CreateDeliveryVehicle:
POST https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles?deliveryVehicleId=<id>
Treść żądania POST reprezentuje DeliveryVehicle, które ma zostać utworzone. Możesz określić te opcjonalne pola:
attributeslastLocationtype
# 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 pustą. Nowo utworzony pojazd wyodrębnia następnie identyfikator pojazdu z parametru 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}"