במדריך הזה אנחנו מציגים את השקת הניסוי של שיטות ה-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