Bu dokümanda, aşağıdakileri kullanarak sunucu ortamından nasıl araç oluşturulacağı açıklanmaktadır: gRPC veya REST olabilir. Uygun kimlik bilgilerini kullanarak uygulamayı güvenilir bir ortam olarak yapılandırdıysanız Driver SDK'sından araç oluşturabilirsiniz.
Araç oluşturmak için Driver SDK'sının nasıl kullanılacağını öğrenmek üzere aşağıdakilere bakın:
- Planlanmış görevler için Sürücü SDK'sı
- Fleet Engine ile ilgili temel bilgiler bölümündeki Hizmet hesabı rolleri.
Sunucu ortamından yeni bir araç oluşturmak için
Fleet Engine'e CreateDeliveryVehicle
isteği. Şunu kullanın:
CreateDeliveryVehicleRequest
nesnesini tanımlayacak yeni
teslimat aracı.
Planlı görev araçları için alanlar
DeliveryVehicle
oluştururken aşağıdaki isteğe bağlı alanları ayarlarsınız:
attributes
last_location
type
İsteğe bağlı alanlar ayarlamadan araç oluşturmak için
CreateDeliveryVehicleRequest
içindeki DeliveryVehicle
alanı kaldırıldı.
Araç oluşturma örneği
Araç oluşturmak için Java gRPC kitaplığını veya REST'i kullanabilirsiniz.
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
Sunucu ortamından bir araç oluşturmak için CreateDeliveryVehicle
adresine HTTP REST çağrısı yapın:
POST https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles?deliveryVehicleId=<id>
POST gövdesi, oluşturulacak DeliveryVehicle
öğesini temsil eder. Şunları yapabilirsiniz:
aşağıdaki isteğe bağlı alanları belirtin:
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
Herhangi bir alan ayarlamadan araç oluşturmak için POST gövdesini bırakın
boş bırakın. Yeni oluşturulan araç, daha sonra
deliveryVehicleId
parametresi eklemeniz gerekir.
Örnek:
# 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}"