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

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

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

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

OptimizeToursLongRunning

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

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

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

    คำสั่งต่อไปนี้จะส่งคำขอ 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 เป็นหมายเลขหรือรหัสโปรเจ็กต์ Cloud

    คำสั่งต่อไปนี้จะส่งคำขอ 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