Route Optimization API มีปลายทางต่อไปนี้
OptimizeTours: ปลายทางการบล็อกสำหรับคำขอเดียวOptimizeToursLongRunning: ปลายทางที่ไม่บล็อกสำหรับคำขอเดียวที่ใช้เวลาแก้ปัญหานานOptimizeToursUri: ปลายทางแบบไม่บล็อกสำหรับคำขอเดียวที่มีข้อกำหนดด้านข้อมูลขนาดใหญ่BatchOptimizeTours: ปลายทางแบบไม่บล็อกสำหรับคำขอหลายรายการที่ประมวลผลพร้อมกัน
ปลายทางที่คุณเลือกจะขึ้นอยู่กับ Use Case, ขนาดคำขอ, เวลาในการแก้ปัญหาที่คาดไว้ และความจำเป็นในการประมวลผลคำขอหลายรายการพร้อมกันหรือไม่
เปรียบเทียบอุปกรณ์ปลายทาง
ใช้ตารางต่อไปนี้เพื่อระบุปลายทางที่เหมาะสมกับความต้องการของคุณ
| Endpoint | OptimizeTours |
OptimizeToursLongRunning |
OptimizeToursUri |
BatchOptimizeTours |
|---|---|---|---|---|
| ประเภทการดำเนินการ | จะมีการบล็อก | ไม่บล็อก | ไม่บล็อก | ไม่บล็อก |
| คำขอที่ประมวลผลแล้ว | โสด | โสด | โสด | หลายรายการ |
| ขนาดคำขอสูงสุด | เล็ก | ปานกลาง | ใหญ่ | ใหญ่ |
| เวลาในการแก้ปัญหา | สั้น | ยาว | ยาว | ยาว |
| ต้องใช้ Google Cloud Storage | ไม่ | ไม่ได้ | ได้ | ใช่ |
ทำความเข้าใจลักษณะของอุปกรณ์ปลายทาง
ตารางก่อนหน้านี้แสดงลักษณะต่อไปนี้เพื่อช่วยคุณเลือกปลายทางที่เหมาะสม
- ประเภทการดำเนินการ: กำหนดวิธีที่แอปพลิเคชันจัดการการเชื่อมต่อเครือข่ายขณะรอการตอบกลับ ซึ่งมี 2 ประเภทดังนี้
- ปลายทางการบล็อก: เปิดการเชื่อมต่อไว้จนกว่า API จะแสดงการตอบกลับ
- ปลายทางแบบไม่บล็อก: ประมวลผลคำขอในเบื้องหลัง API จะแสดงผลรหัสการดำเนินการที่ใช้เวลานาน (LRO) ทันที ซึ่งคุณสามารถสำรวจในภายหลังเพื่อดูผลลัพธ์ได้
- คำขอที่ประมวลผล: กำหนดว่าปลายทางจะจัดการคำขอการกำหนดเส้นทางรายการเดียวหรือประมวลผลคำขอหลายรายการพร้อมกัน
- ขนาดคำขอสูงสุด: ระบบจะส่งคำขอขนาดเล็กและขนาดกลางในบรรทัดโดยตรงและมีขีดจำกัดฝั่งเซิร์ฟเวอร์ คำขอขนาดใหญ่จะข้ามขีดจำกัดเหล่านี้โดยใช้ Google Cloud Storage ดูขีดจำกัดขนาดคำขอที่แน่นอนได้ในส่วนรายละเอียดปลายทาง
- เวลาในการแก้ปัญหา: คำของ่ายๆ สามารถแก้ไขได้ในเวลาอันสั้น ส่วนคำขอที่ซับซ้อนจะใช้เวลาแก้ปัญหานานกว่า เนื่องจากเวลาในการแก้ปัญหาจะเป็นตัวกำหนดระยะเวลาที่การเชื่อมต่อต้องเปิดอยู่ ตัวเลือกปลายทางจึงขึ้นอยู่กับขีดจำกัดระยะหมดเวลาของคุณ ดูข้อมูลเพิ่มเติมได้ที่หัวข้อกำหนดค่าการหมดเวลาและกำหนดเวลา
- ต้องใช้ Google Cloud Storage: ปลายทางที่ประมวลผลคำขอและการตอบกลับขนาดใหญ่จะอ่านและเขียนข้อมูลไปยัง Google Cloud Storage โดยตรง คุณสามารถอัปโหลดคำขอไปยังที่เก็บข้อมูล Cloud Storage และส่ง URI ไปยัง API แทนการส่งข้อมูลในคำขอ HTTP
รายละเอียดปลายทาง
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" } } ] }