במדריך הזה אנחנו מציגים את השקת הניסוי של שיטות ה-API OptimizeToursLongRunning
ו-OptimizeToursUri
, שמאפשרות למשתמשים לשלוח בקשות אופטימיזציה יחידות ללא חסימה. באופטימיזציה לא חוסמת, המשתמש מקבל במהירות פרוטו של פעולה מהשיטה שאפשר להשתמש בה כדי להפנות לסטטוס של האופטימיזציה על ידי קריאה ל-GetOperation
.
פרטים נוספים זמינים במאמר בנושא פעולות ממושכות.
השיטות האלה לא חוסמות את התהליך ומספקות יתרונות של אמינות לעומת השיטה שחוסמת את התהליך OptimizeTours
, כי הלקוח לא צריך לשמור על חיבור לשרת בזמן שהאופטימיזציה מתבצעת. בנוסף, השיטות החדשות האלה מקלות על איתור באגים בבעיות בהשוואה ל-BatchOptimizeTours
, כי כל אופטימיזציה משויכת לפעולה אחת ארוכת טווח (LRO).
משתמשים שמעדיפים להוסיף את בקשת האופטימיזציה בשורה יכולים להשתמש בשיטה OptimizeToursLongRunning
, ומשתמשים שמעדיפים להעלות את הבקשות ואת תגובת הקריאה באמצעות Google Cloud Storage יכולים להשתמש בשיטה OptimizeToursUri
.
OptimizeToursLongRunning
דוגמה: יצירת בקשת OptimizeToursLongRunning
לפני ששולחים בקשה, מחליפים את הפרמטרים הבאים בערכים שמתאימים לסביבה שלכם:
- מוודאים שהגדרתם Application Default Credentials כמו שמתואר במאמר שימוש ב-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
שמוחזר משויך רק ל-Operation
הבודד שנשלח.OptimizeToursRequest
דוגמה: יצירת בקשת OptimizeToursUri
לפני ששולחים בקשה, מחליפים את הפרמטרים הבאים בערכים שמתאימים לסביבה שלכם:
- מוודאים שהגדרתם Application Default Credentials כמו שמתואר במאמר שימוש ב-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