En esta guía, se presenta el lanzamiento experimental de los métodos de la API de OptimizeToursLongRunning
y OptimizeToursUri
, que permiten a los usuarios realizar solicitudes de optimización únicas y no bloqueantes. En una optimización no bloqueante, el usuario recibe rápidamente un proto de operación del método que se puede usar para hacer referencia al estado de la optimización llamando a GetOperation
.
Consulta Operaciones de larga duración para obtener más información.
Estos métodos no bloqueantes proporcionan los beneficios de confiabilidad sobre el método de bloqueo OptimizeTours
, ya que el cliente no necesita mantener la conexión con el servidor mientras se ejecuta la optimización. Además, estos nuevos métodos facilitan la depuración de fallas en comparación con BatchOptimizeTours
, ya que cada optimización está asociada con una sola operación de larga duración (LRO).
Los usuarios que prefieran intercalar la solicitud de optimización pueden usar el método OptimizeToursLongRunning
, mientras que los que prefieran subir las solicitudes y la respuesta de lectura con Google Cloud Storage pueden usar el método OptimizeToursUri
.
OptimizeToursLongRunning
Ejemplo: Realiza una solicitud OptimizeToursLongRunning
Antes de realizar una solicitud, reemplaza los siguientes parámetros por valores adecuados para tu entorno:
- Asegúrate de tener configuradas las Credenciales predeterminadas de la aplicación como se describe en Cómo usar OAuth.
Establece PROJECT_NUMBER_OR_ID en el número o el ID de tu proyecto de Cloud.
El siguiente comando envía una solicitud
OptimizeToursLongRunning
a la API de Route Optimization y recibe un ID de operación asociado con ella. El métodoGetOperation
se puede usar para consultar el estado de la operación. Una vez que se completa la operación, los metadatos también contienen elOptimizeToursResponse
final.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
Al igual que BatchOptimizeTours
, puedes usar OptimizeToursUri
para seguir almacenando tu solicitud y respuesta de optimización en Google Cloud Storage.
Los URIs de Cloud Storage se deben especificar en el mensaje de solicitud OptimizeToursUri
.
El estado Operation
que se muestra está asociado solo con el único OptimizeToursRequest
enviado.
Ejemplo: Realiza una solicitud OptimizeToursUri
Antes de realizar una solicitud, reemplaza los siguientes parámetros por valores adecuados para tu entorno:
- Asegúrate de tener configuradas las Credenciales predeterminadas de la aplicación como se describe en Cómo usar OAuth.
Establece PROJECT_NUMBER_OR_ID en el número o el ID de tu proyecto de Cloud.
El siguiente comando envía una solicitud
OptimizeToursUri
a la API de Route Optimization y recibe un ID de operación asociado con ella. Usa el métodoGetOperation
para consultar el estado de la operación. Una vez que se completa la operación,OptimizeToursResponse
se almacena de forma remota en la ruta de acceso del URI de salida proporcionada en la solicitud.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