במדריך הזה נסביר על ההשקה הניסיונית של שיטות ה-API OptimizeToursLongRunning ו-OptimizeToursUri, שמאפשרות למשתמשים לשלוח בקשות אופטימיזציה יחידות ללא חסימה. באופטימיזציה לא חוסמת, המשתמש מקבל במהירות Operation proto מהשיטה, שאפשר להשתמש בו כדי להפנות לסטטוס האופטימיזציה באמצעות קריאה ל-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 שמוחזר משויך רק ל-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