Route Optimization API มีปลายทางต่อไปนี้
OptimizeTours: ปลายทางการบล็อกสำหรับคำขอเดียวOptimizeToursLongRunning: ปลายทางที่ไม่บล็อก สำหรับคำขอเดียวที่มีเวลาในการแก้ปัญหานานOptimizeToursUri: จุดสิ้นสุดที่ไม่บล็อกสำหรับคำขอเดียว ที่มีข้อกำหนดด้านข้อมูลจำนวนมากBatchOptimizeTours: ปลายทางที่ไม่บล็อกสำหรับ คำขอหลายรายการที่ประมวลผลพร้อมกัน
ปลายทางที่คุณเลือกจะขึ้นอยู่กับกรณีการใช้งาน ขนาดคำขอ เวลาในการแก้ปัญหาที่คาดไว้ และความจำเป็นในการประมวลผลคำขอหลายรายการพร้อมกัน
เปรียบเทียบอุปกรณ์ปลายทาง
ใช้ตารางต่อไปนี้เพื่อระบุปลายทางที่เหมาะสมกับความต้องการของคุณ
| ปลายทาง | OptimizeTours |
OptimizeToursLongRunning |
OptimizeToursUri |
BatchOptimizeTours |
|---|---|---|---|---|
| ประเภทการดำเนินการ | จะมีการบล็อก | ไม่บล็อก | ไม่บล็อก | ไม่บล็อก |
| คำขอที่ดำเนินการแล้ว | โสด | โสด | โสด | หลายรายการ |
| ขนาดคำขอสูงสุด | เล็ก | ปานกลาง | ใหญ่ | ใหญ่ |
| เวลาในการแก้ปัญหา | สั้น | ยาว | ยาว | ยาว |
| ต้องใช้ Google Cloud Storage | ไม่ | ไม่ได้ | ได้ | ใช่ |
ทำความเข้าใจลักษณะของอุปกรณ์ปลายทาง
ตารางก่อนหน้าแสดงลักษณะต่อไปนี้เพื่อช่วยคุณเลือกปลายทางที่เหมาะสม
- ประเภทการดำเนินการ: กำหนดวิธีที่แอปพลิเคชัน
จัดการการเชื่อมต่อเครือข่ายขณะรอการตอบกลับ โดยมี 2 ประเภท
ดังนี้
- การบล็อกปลายทาง: เปิดการเชื่อมต่อไว้จนกว่า API จะส่งการตอบกลับ
- ปลายทางที่ไม่บล็อก: ประมวลผลคำขอในเบื้องหลัง API จะแสดงรหัสการดำเนินการที่ใช้เวลานาน (LRO) ทันที ซึ่งคุณจะสำรวจในภายหลังเพื่อดึงข้อมูลผลลัพธ์
- คำขอที่ประมวลผลแล้ว: กำหนดว่าปลายทางจะจัดการคำขอการกำหนดเส้นทางเดียวหรือประมวลผลคำขอหลายรายการพร้อมกัน
- ขนาดคำขอสูงสุด: คำขอขนาดเล็กและขนาดกลางจะส่งแบบอินไลน์โดยตรง และมีขีดจำกัดฝั่งเซิร์ฟเวอร์ คำขอขนาดใหญ่จะข้ามขีดจำกัดเหล่านี้ได้โดยใช้ Google Cloud Storage ดูขีดจำกัดขนาดคำขอที่แน่นอนได้ในส่วนรายละเอียดของปลายทาง
- เวลาในการแก้ไข: คำขอที่ง่ายจะแก้ไขได้ในเวลาอันสั้น ส่วนคำขอที่ซับซ้อนจะใช้เวลาในการแก้ไขนานกว่า เนื่องจากเวลาในการแก้ปัญหาเป็นตัวกำหนดระยะเวลาที่การเชื่อมต่อต้องเปิดอยู่ การเลือกปลายทางจึงขึ้นอยู่กับขีดจำกัดการหมดเวลา ดูข้อมูลเพิ่มเติมได้ที่กำหนดค่าการหมดเวลาและ กำหนดเวลา
- ต้องใช้ Google Cloud Storage: ปลายทางที่ประมวลผลคำขอและคำตอบขนาดใหญ่จะอ่านและเขียนข้อมูลไปยัง Google Cloud Storage โดยตรง แทนที่จะส่งข้อมูลในคำขอ HTTP คุณจะอัปโหลดคำขอไปยังที่เก็บข้อมูล Cloud Storage และส่ง URI ไปยัง API
รายละเอียดปลายทาง
Route Optimization API มีปลายทาง 4 รายการ ส่วนต่อไปนี้จะอธิบาย วิธีการทำงานของแต่ละปลายทางและมีคำขอตัวอย่าง
OptimizeTours
OptimizeTours คือปลายทางการบล็อกที่ออกแบบมาสำหรับคำขอเดียว
ซึ่งมีเวลาในการแก้ไขสั้นๆ โดยจะแสดงเส้นทางที่เพิ่มประสิทธิภาพแล้วในคำตอบโดยตรง
เนื่องจากเป็นปลายทางที่บล็อก คุณต้องเปิดการเชื่อมต่อเครือข่ายไว้
จนกว่า API จะประมวลผลคำขอเสร็จสิ้นเพื่อที่จะแสดงการตอบกลับ ปลายทางนี้
ยอมรับคำขอแบบอินไลน์ได้สูงสุดประมาณ 4 MB
ดูOptimizeToursตัวอย่างคำขอ
{ "model": { "shipments":[ { "pickups":[ { "arrivalLocation": { "latitude": 37.425062, "longitude": -122.095355 } } ], "deliveries":[ { "arrivalLocation": { "latitude": 37.424215, "longitude": -122.095260 } } ] } ], "vehicles":[ { "travelMode": "DRIVING", "costPerKilometer": 1.0 } ] } }
OptimizeToursLongRunning
OptimizeToursLongRunning เป็นปลายทางที่ไม่บล็อกสำหรับคำขอเดียว
ที่มีเวลาในการแก้ปัญหานาน โดยจะแสดงผลรหัสการดำเนินการที่ใช้เวลานาน (LRO)
คุณสามารถสำรวจรหัสนี้โดยใช้ปลายทาง GetOperation เพื่อตรวจสอบสถานะคำขอ
และเรียกเส้นทางที่เพิ่มประสิทธิภาพสุดท้าย ปลายทางนี้ยอมรับคำขอแบบอินไลน์
ที่มีขนาดสูงสุดประมาณ 8 MB
ดูOptimizeToursLongRunningตัวอย่างคำขอ
{ "model": { "shipments":[ { "pickups":[ { "arrivalLocation": { "latitude": 37.425062, "longitude": -122.095355 } } ] } ], "vehicles":[ { "travelMode": "DRIVING", "costPerKilometer": 1.0 } ] } }
OptimizeToursUri
OptimizeToursUri เป็นปลายทางที่ไม่บล็อกซึ่งออกแบบมาสำหรับคำขอเดียว
ที่มีเวลาในการแก้ปัญหานานและมีข้อกำหนดด้านข้อมูลขนาดใหญ่ (มากกว่า 8 MB) โดยจะ
แสดงรหัสการดำเนินการที่ใช้เวลานาน (LRO) คุณสามารถสำรวจรหัสนี้โดยใช้
GetOperationปลายทางเพื่อตรวจสอบสถานะคำขอ
คุณจะอัปโหลด OptimizeToursRequest
ไปยัง Google Cloud Storage แทนการส่งเพย์โหลดแบบอินไลน์ จากนั้นส่ง URI ของ Cloud Storage สำหรับทั้งคำขออินพุตและปลายทางเอาต์พุตไปยัง API เซิร์ฟเวอร์จะอ่านข้อมูลจาก URI อินพุตและเขียนข้อมูลสุดท้ายOptimizeToursResponseโดยตรง
ไปยัง URI เอาต์พุต คุณอ่านเส้นทางที่เพิ่มประสิทธิภาพจาก URI เอาต์พุตนี้ได้เมื่อการดำเนินการเสร็จสมบูรณ์
ดูOptimizeToursUriตัวอย่างคำขอ
{ "input": { "uri": "gs://your-bucket/path/input/object.json" }, "output": { "uri": "gs://your-bucket/path/output/object.json" } }
BatchOptimizeTours
BatchOptimizeTours คือปลายทางที่ไม่บล็อกซึ่งมีไว้สำหรับคำขอการเพิ่มประสิทธิภาพหลายรายการที่แยกกันซึ่งประมวลผลพร้อมกัน โดยจะ
แสดงรหัสการดำเนินการที่ใช้เวลานาน (LRO) คุณสามารถสำรวจรหัสนี้โดยใช้
GetOperation เพื่อตรวจสอบสถานะคำขอและเรียกเส้นทางที่
ปรับให้เหมาะสมแล้วขั้นสุดท้าย
คุณจะอัปโหลดเพย์โหลดหลายรายการ
OptimizeToursRequestไปยัง Google Cloud Storage แทนการส่งเพย์โหลดแบบอินไลน์ จากนั้นส่ง URI ของ Cloud Storage
ไปยัง API เซิร์ฟเวอร์จะอ่านข้อมูลจาก URI อินพุตและเขียนOptimizeToursResponseสำหรับแต่ละคำขอไปยัง URI เอาต์พุตโดยตรง
ดูBatchOptimizeToursตัวอย่างคำขอ
{ "modelConfigs": [ { "inputConfig": { "gcsSource": { "uri": "gs://your-bucket/path/input/request_1.json" }, "dataFormat": "JSON" }, "outputConfig": { "gcsDestination": { "uri": "gs://your-bucket/path/output/response_1.json" }, "dataFormat": "JSON" } }, { "inputConfig": { "gcsSource": { "uri": "gs://your-bucket/path/input/request_2.json" }, "dataFormat": "JSON" }, "outputConfig": { "gcsDestination": { "uri": "gs://your-bucket/path/output/response_2.json" }, "dataFormat": "JSON" } } ] }