Planlanmış görevler için bir teslimat aracı oluşturma

Bu dokümanda, aşağıdakileri kullanarak sunucu ortamından nasıl araç oluşturacağınız açıklanmaktadır: gRPC veya REST olabilir. Aşağıdaki koşulları sağlayan Driver SDK'sından araç oluşturabilirsiniz: uygun kimlik bilgileri.

Araç oluşturmak amacıyla Sürücü SDK'sının nasıl kullanılacağını anlamak için aşağıdakileri inceleyin:

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
ziyaret edin.

İsteğe bağlı alanlar ayarlamadan araç oluşturmak için CreateDeliveryVehicleRequest içindeki DeliveryVehicle alanı kaldırıldı.

Araç örneği oluştur

Araç veya REST oluşturmak için Java gRPC kitaplığını 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 araç oluşturmak için HTTP REST çağrısı yapın Hedef: CreateDeliveryVehicle:

POST https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles?deliveryVehicleId=<id>

POST gövdesi, oluşturulacak DeliveryVehicle varlığını 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}"

Sırada ne var?