Ce document explique comment créer un véhicule à partir d'un environnement de serveur en utilisant gRPC ou REST. Vous pouvez créer un véhicule à partir du SDK Driver, à condition vous avez provisionné l'application en tant qu'environnement approuvé à l'aide de la identifiants de connexion.
Pour savoir comment utiliser le SDK Driver afin de créer des véhicules, consultez les ressources suivantes:
- SDK Driver pour les tâches planifiées
- Rôles de compte de service sous Fleet Engine Essentials
Pour créer un véhicule à partir d'un environnement de serveurs, effectuez une
Requête CreateDeliveryVehicle
à Fleet Engine. Utilisez le
CreateDeliveryVehicleRequest
pour définir les attributs du nouveau
un véhicule de livraison.
Champs pour les véhicules des tâches planifiées
Lorsque vous créez un DeliveryVehicle
, vous définissez les champs facultatifs suivants:
attributes
last_location
type
Pour créer un véhicule sans définir de champs facultatifs, vous pouvez quitter le
Champ DeliveryVehicle
non défini dans CreateDeliveryVehicleRequest
.
Créer un exemple de véhicule
Vous pouvez utiliser la bibliothèque gRPC Java gRPC pour créer un véhicule, ou REST.
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
Pour créer un véhicule à partir d'un environnement de serveur, effectuez un appel HTTP REST
vers CreateDeliveryVehicle
:
POST https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles?deliveryVehicleId=<id>
Le corps POST représente l'entité DeliveryVehicle
à créer. Vous pouvez
spécifiez les champs facultatifs suivants:
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
Pour créer un véhicule sans définir de champ, laissez le corps de la requête POST.
requête vide. Le véhicule que vous venez de créer extrait ensuite un identifiant de véhicule à partir du
Paramètre deliveryVehicleId
de l'URL POST.
Exemple :
# 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}"