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

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

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

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

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

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

  • attributes
  • last_location
  • type

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

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

شما می‌توانید از کتابخانه جاوا 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}"

قدم بعدی چیست؟