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

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

برای درک نحوه استفاده از 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;
  }

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 در نشانی وب 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}"

قدم بعدی چیست