เอกสารนี้จะอธิบายวิธีสร้างยานพาหนะจากสภาพแวดล้อมเซิร์ฟเวอร์โดยใช้ gRPC หรือ REST คุณสามารถสร้างยานพาหนะจาก Driver SDK ได้ ในกรณีที่ได้จัดสรรแอปเป็นสภาพแวดล้อมที่เชื่อถือได้โดยใช้ข้อมูลเข้าสู่ระบบที่เหมาะสม
หากต้องการทำความเข้าใจวิธีใช้ Driver SDK เพื่อสร้างยานพาหนะ โปรดดูข้อมูลต่อไปนี้
- Driver SDK สำหรับงานที่กําหนดเวลาไว้
- บทบาทในบัญชีบริการในส่วนข้อมูลเบื้องต้นเกี่ยวกับ Fleet Engine
หากต้องการสร้างยานพาหนะใหม่จากสภาพแวดล้อมเซิร์ฟเวอร์ ให้ส่งCreateDeliveryVehicle
คําขอไปยัง Fleet Engine ใช้ออบเจ็กต์ CreateDeliveryVehicleRequest
เพื่อกำหนดแอตทริบิวต์ของยานพาหนะนำส่งคันใหม่
ฟิลด์สำหรับยานพาหนะสำหรับงานที่กำหนดเวลาไว้
เมื่อสร้าง DeliveryVehicle
คุณจะตั้งค่าช่องที่ไม่บังคับต่อไปนี้
attributes
last_location
type
หากต้องการสร้างยานพาหนะโดยไม่ตั้งค่าฟิลด์ที่ไม่บังคับ ให้ปล่อยฟิลด์ DeliveryVehicle
ว่างไว้ใน CreateDeliveryVehicleRequest
สร้างตัวอย่างยานพาหนะ
คุณสามารถใช้ไลบรารี gRPC ของ Java เพื่อสร้างยานพาหนะหรือ 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
หากต้องการสร้างยานพาหนะจากสภาพแวดล้อมเซิร์ฟเวอร์ ให้ทําการเรียก HTTP REST ไปยัง CreateDeliveryVehicle
POST https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles?deliveryVehicleId=<id>
เนื้อหา POST จะแสดงถึงเอนทิตี DeliveryVehicle
ที่จะสร้างขึ้น คุณสามารถระบุช่องที่ไม่บังคับต่อไปนี้
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
หากต้องการสร้างยานพาหนะโดยไม่ตั้งค่าช่องใดๆ ให้ปล่อยเนื้อหาของคำขอ POST ว่างไว้ จากนั้นยานพาหนะที่สร้างขึ้นใหม่จะดึงรหัสยานพาหนะจากพารามิเตอร์ deliveryVehicleId
ใน URL ของ POST
ตัวอย่าง
# 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}"