เมธอด Optimization API แบบไม่บล็อกรายการเดียว

คู่มือนี้จะแนะนำการเปิดตัวเวอร์ชันทดลองของเมธอด OptimizeToursLongRunning และ OptimizeToursUri API ซึ่งช่วยให้ผู้ใช้ส่งคําขอการเพิ่มประสิทธิภาพแบบไม่บล็อกได้ ในการเพิ่มประสิทธิภาพแบบไม่บล็อก ผู้ใช้จะได้รับ Operation proto จากเมธอดอย่างรวดเร็ว ซึ่งสามารถใช้อ้างอิงสถานะของการเพิ่มประสิทธิภาพได้โดยเรียกใช้ GetOperation ดูรายละเอียดเพิ่มเติมได้ในการดำเนินการที่ใช้เวลานาน

เมธอดที่ไม่บล็อกเหล่านี้ให้ประโยชน์ด้านความน่าเชื่อถือมากกว่าเมธอด OptimizeTours ที่บล็อก เนื่องจากไคลเอ็นต์ไม่จําเป็นต้องรักษาการเชื่อมต่อกับเซิร์ฟเวอร์ไว้ขณะที่ดำเนินการเพิ่มประสิทธิภาพ นอกจากนี้ วิธีการใหม่เหล่านี้ยังช่วยให้แก้ไขข้อผิดพลาดได้ง่ายขึ้นเมื่อเทียบกับ BatchOptimizeTours เนื่องจากการเพิ่มประสิทธิภาพแต่ละรายการจะเชื่อมโยงกับการดำเนินการแบบต่อเนื่อง (LRO) รายการเดียว

ผู้ใช้ที่ต้องการแทรกคําขอเพิ่มประสิทธิภาพในบรรทัดจะใช้วิธีการ OptimizeToursLongRunning ได้ ส่วนผู้ใช้ที่ต้องการอัปโหลดคําขอและการตอบกลับที่อ่านได้โดยใช้ Google Cloud Storage จะใช้วิธีการ OptimizeToursUri ได้

OptimizeToursLongRunning

ตัวอย่าง: ส่งคำขอ OptimizeToursLongRunning

ก่อนส่งคําขอ ให้แทนที่พารามิเตอร์ต่อไปนี้ด้วยค่าที่เหมาะสมกับสภาพแวดล้อมของคุณ

  • ตรวจสอบว่าคุณได้กําหนดค่าข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันตามที่อธิบายไว้ในใช้ OAuth
  • ตั้งค่า PROJECT_NUMBER_OR_ID เป็นหมายเลขหรือรหัสโปรเจ็กต์ในระบบคลาวด์

    คำสั่งต่อไปนี้จะส่งคำขอ OptimizeToursLongRunning ไปยัง Route Optimization API และรับรหัสการดำเนินการที่เชื่อมโยงกับคำขอ คุณสามารถใช้เมธอด GetOperation เพื่อค้นหาสถานะการดำเนินการได้ เมื่อดำเนินการเสร็จสิ้นแล้ว ข้อมูลเมตาจะมีOptimizeToursResponse สุดท้ายด้วย

    curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeToursLongRunning' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    --data @- <<EOM
    {
      "model": {
        "shipments": [
          {
            "pickups": [
              {
                "arrivalLocation": {
                  "latitude": 37.42506261000996,
                  "longitude": -122.09535511930135
                }
              }
            ],
            "deliveries": [
              {
                "arrivalLocation": {
                  "latitude": 37.42421503206021,
                  "longitude": -122.09526063135228
                }
              }
            ]
          }
        ],
        "vehicles": [
          {
            "travelMode": "DRIVING",
            "costPerKilometer": 1.0
          }
        ],
      }
    }
    EOM

OptimizeToursUri

เช่นเดียวกับ BatchOptimizeTours คุณสามารถใช้ OptimizeToursUri เพื่อจัดเก็บคําขอและคําตอบการเพิ่มประสิทธิภาพใน Google Cloud Storage ต่อได้ คุณต้องระบุ URI ของ Cloud Storage ในข้อความคําขอ OptimizeToursUri สถานะ Operation ที่แสดงจะเชื่อมโยงกับOptimizeToursRequestที่ส่งมารายการเดียวเท่านั้น

ตัวอย่าง: ส่งคำขอ OptimizeToursUri

ก่อนส่งคําขอ ให้แทนที่พารามิเตอร์ต่อไปนี้ด้วยค่าที่เหมาะสมกับสภาพแวดล้อมของคุณ

  • ตรวจสอบว่าคุณได้กําหนดค่าข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันตามที่อธิบายไว้ในใช้ OAuth
  • ตั้งค่า PROJECT_NUMBER_OR_ID เป็นหมายเลขหรือรหัสโปรเจ็กต์ในระบบคลาวด์

    คำสั่งต่อไปนี้จะส่งคำขอ OptimizeToursUri ไปยัง Route Optimization API และรับรหัสการดำเนินการที่เชื่อมโยงกับคำขอ ใช้เมธอด GetOperation เพื่อค้นหาสถานะการดำเนินการ เมื่อดำเนินการเสร็จแล้ว ระบบจะจัดเก็บ OptimizeToursResponse ไว้จากระยะไกลในเส้นทาง URI เอาต์พุตที่ระบุในคำขอ

    curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeToursUri' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    --data @- <<EOM
    {
      "input": {
        "uri": "gs://bucket/path/input/object.json"
      },
      "output": {
        "uri": "gs://bucket/path/output/object.json"
      }
    }
    EOM