یک وسیله نقلیه تحویل برای کارهای برنامه ریزی شده ایجاد کنید

این سند نحوه ایجاد یک وسیله نقلیه از محیط سرور با استفاده از gRPC یا REST را توضیح می دهد. می‌توانید یک وسیله نقلیه از Driver SDK ایجاد کنید، مشروط بر اینکه برنامه را به عنوان یک محیط قابل اعتماد با استفاده از اعتبارنامه‌های مناسب تهیه کرده باشید.

برای درک نحوه استفاده از Driver SDK برای ایجاد وسایل نقلیه، به موارد زیر مراجعه کنید:

برای ایجاد یک وسیله نقلیه جدید از یک محیط سرور، درخواست CreateDeliveryVehicle را به Fleet Engine ارسال کنید. از شی CreateDeliveryVehicleRequest برای تعریف ویژگی های وسیله نقلیه تحویل جدید استفاده کنید.

زمینه هایی برای وسایل نقلیه وظایف برنامه ریزی شده

هنگام ایجاد یک DeliveryVehicle ، فیلدهای اختیاری زیر را تنظیم می کنید:

  • attributes
  • last_location
  • type

برای ایجاد وسیله نقلیه بدون تنظیم هیچ فیلد اختیاری، می‌توانید فیلد DeliveryVehicle را در CreateDeliveryVehicleRequest تنظیم نشده رها کنید.

ایجاد نمونه وسیله نقلیه

می توانید از کتابخانه Java gRPC برای ایجاد یک وسیله نقلیه یا REST استفاده کنید.

جاوا

  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;
  }

باقی مانده

برای ایجاد وسیله نقلیه از محیط سرور، یک تماس 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}"

بعدش چی