Este guia apresenta o lançamento experimental dos métodos de API OptimizeToursLongRunning
e OptimizeToursUri, que permitem aos usuários fazer solicitações de otimização únicas
sem bloqueio. Em uma otimização sem bloqueio, o usuário
recebe rapidamente um proto de operação do método que pode ser usado
para referenciar o status da otimização chamando GetOperation.
Consulte Operações de longa duração
para mais detalhes.
Esses métodos não bloqueadores oferecem os benefícios de confiabilidade em relação ao método de bloqueio OptimizeTours, já que o cliente não precisa manter a conexão com o servidor enquanto a otimização está sendo executada. Além disso, esses novos métodos facilitam a depuração de falhas em comparação com BatchOptimizeTours, já que cada otimização está associada a uma única operação de longa duração (LRO).
Os usuários que preferem inserir a solicitação de otimização podem usar o método
OptimizeToursLongRunning, enquanto aqueles que preferem fazer upload das
solicitações e da resposta de leitura usando o Google Cloud Storage podem usar o método
OptimizeToursUri.
OptimizeToursLongRunning
Exemplo: fazer uma solicitação OptimizeToursLongRunning
Antes de fazer uma solicitação, substitua os seguintes parâmetros por valores adequados para seu ambiente:
- Verifique se você configurou as Application Default Credentials conforme descrito em Usar o OAuth.
Defina PROJECT_NUMBER_OR_ID como o número ou ID do projeto do Cloud.
O comando a seguir envia uma solicitação
OptimizeToursLongRunningpara a API Route Optimization e recebe um ID de operação associado a ela. O métodoGetOperationpode ser usado para consultar o status da operação. Quando a operação for concluída, os metadados também vão conter oOptimizeToursResponsefinal.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
Assim como BatchOptimizeTours, você pode usar OptimizeToursUri para continuar
armazenando sua solicitação e resposta de otimização no Google Cloud Storage.
Os URIs do Cloud Storage precisam ser especificados na mensagem de solicitação OptimizeToursUri.
O status Operation retornado está associado apenas ao único OptimizeToursRequest enviado.
Exemplo: fazer uma solicitação OptimizeToursUri
Antes de fazer uma solicitação, substitua os seguintes parâmetros por valores adequados para seu ambiente:
- Verifique se você configurou as Application Default Credentials conforme descrito em Usar o OAuth.
Defina PROJECT_NUMBER_OR_ID como o número ou ID do projeto do Cloud.
O comando a seguir envia uma solicitação
OptimizeToursUripara a API Route Optimization e recebe um ID de operação associado a ela. Use o métodoGetOperationpara consultar o status da operação. Quando a operação for concluída, oOptimizeToursResponseserá armazenado remotamente no caminho do URI de saída fornecido na solicitação.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