In diesem Dokument wird beschrieben, wie Sie ein Fahrzeug über gRPC oder REST aus einer Serverumgebung erstellen. Sie können ein Fahrzeug über das Driver SDK erstellen (sofern zur Verfügung gestellt) haben Sie die Anwendung als vertrauenswürdige Umgebung mit der entsprechenden Anmeldedaten.
Weitere Informationen zum Erstellen von Fahrzeugen mit dem Driver SDK finden Sie unter:
- Driver SDK für geplante Aufgaben
- Dienstkontorollen unter Fleet Engine Essentials.
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
Wenn Sie einen DeliveryVehicle
erstellen, 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 DeliveryVehicle
in CreateDeliveryVehicleRequest
leer lassen.
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
Wenn Sie ein Fahrzeug in einer Serverumgebung erstellen möchten, senden Sie einen HTTP-REST-Aufruf 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 an:
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}"