Teslimat araçlarını listeleme

Bu dokümanda, teslimat araçlarının nasıl listeleneceği açıklanmaktadır.

Ortamlar ve sınırlamalar

Teslimat araçlarını bir sunucu veya tarayıcı ortamından listeleyebilirsiniz. Sürücü SDK, yayınlama araçlarının listelenmesini desteklemiyor.

Teslimat araçlarını listelemek için teslimat araçlarına geniş erişim izni gerekir ve bu erişim izni yalnızca güvenilir kullanıcılar için tasarlanmıştır. Teslim Filosu Okuyucu veya Fleet Engine'i kullanın Liste yayınlama aracı istekleri yaparken, Yayınlama Yöneticisi jetonları.

Listedeki teslimat araçlarında etkileri nedeniyle aşağıdaki alanlar çıkartılmıştır yanıt boyutunda:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Kullanım

Araçları, özellik filtreleri ve görüntü alanı sınırlarına göre listeleyebilirsiniz. Örneğin veya görüntü alanı yoksa yanıt tüm teslimat araçlarını içerir.

Özellik filtreli liste

attributes mülkünü kullanarak yayın araçlarını filtreye göre listeleyebilirsiniz. Örneğin, Örneğin, my_key anahtarı ve my_value değerine sahip bir özelliği sorgulamak için şunu kullanın: attributes.my_key = my_value. Birden fazla özellik için sorgu yapmak istiyorsanız attributes.key1 = value1 AND attributes.key2 = value2'de olduğu gibi mantıksal AND ve OR operatörlerini kullanarak sorguları birleştirin. Tam açıklama için bkz. AIP-160 yardımcı olur. Filtreleri görüntü alanı sınırlarıyla birleştirirseniz filtre görüntü alanına bağlı bir AND operatörü gibi işlev görür. Araç özellikleri filtresine göz atın. sorguları başlıklı makaleye bakın.

Görünüm alanı sınırları içeren liste

viewport isteğini kullanarak listelenen teslimat araçlarını konuma göre filtreleyebilirsiniz parametresinden sonra bir değer girin. viewport istek parametresi, iki sınırlama kullanarak görüntü alanlarını tanımlar koordinatlar: high (kuzeydoğu) ve low (Güneybatı) enlemi ve boylamı koordinat çiftinin değeri. Yüksek enlem içeren istekler reddedilir coğrafi olarak düşük enlemden daha düşüktür.

Yanıtları listele

Teslimat aracı listeleri, varsayılan olarak makul bir sayfa boyutu kullanılarak sayfalara ayrılır. Bir sayfa boyutu belirtirseniz istek yalnızca sınırla belirtilen araç sayısını veya daha azını döndürür. İstenen sayfa boyutu dahili bir sınırı aşıyorsa dahili maksimum değer kullanılır. Varsayılan ve maksimum sayfa boyutu 100 araçtır.

Teslimat araçları listesinde sonraki sayfanın okunması için bir jeton sonuç. Sayfa jetonu, yalnızca yayınlama sayfası daha fazla olduğunda yanıtlarda bulunur araç alınabilir. Görevlerin bir sonraki sayfasını almak için sayfa jetonunu önceki istekte olduğu gibi aynı olan bir istekte kullanın.

Araç örneklerini listeleme

Belirli bir bölgedeki belirli bir özelliğe sahip teslimat araçlarını listelemek için Java gRPC kitaplığını veya REST'i kullanabilirsiniz. Başarılı bir yanıt yine de boş olabilir. Bu durum, belirtilen görünüm alanında belirtilen özelliğe sahip hiçbir aracın bulunmadığı anlamına gelir.

Java


  static final String PROJECT_ID = "my-delivery-co-gcp-project";

  DeliveryServiceBlockingStub deliveryService =
    DeliveryServiceGrpc.newBlockingStub(channel);

  // Tasks request
  String parent = "providers/" + PROJECT_ID;
  ListDeliveryVehiclesRequest listDeliveryVehiclesRequest =
    ListDeliveryVehiclesRequest.newBuilder()  // No need for the header
        .setParent(parent)
        .setViewport(
              Viewport.newBuilder()
                .setHigh(LatLng.newBuilder()
                    .setLatitude(37.45)
                    .setLongitude(-122.06)
                    .build())
                .setLow(LatLng.newBuilder()
                    .setLatitude(37.41)
                    .setLongitude(-122.11)
                    .build())
        .setFilter("attributes.my_key = my_value")
        .build();

  try {
    ListDeliveryVehiclesResponse listDeliveryVehiclesResponse =
        deliveryService.listDeliveryVehicles(listDeliveryVehiclesRequest);
  } catch (StatusRuntimeException e) {
    Status s = e.getStatus();
    switch (s.getCode()) {
        case NOT_FOUND:
            break;

        case PERMISSION_DENIED:
            break;
    }
    return;
  }

REST

  # HTTP request
  html GET https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles

  # Request with a filter
  # Request sets JWT, PROJECT_ID, and VEHICLE_ID in the local environment
  curl -H "Authorization: Bearer ${JWT}" \
    "https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles?filter=attributes.my_key%20%3D%20my_value%20&viewport.high.latitude=37.45&viewport.high.longitude=-122.06&viewport.low.latitude=37.41&viewport.low.longitude=-122.11"

Arama başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

  // JSON representation
  {
    "deliveryVehicles": [
      {
        object (DeliveryVehicle)
      }
    ],
    "nextPageToken": string,
    "totalSize": integer
  }

Sırada ne var?