Este guia apresenta o lançamento experimental dos métodos da API OptimizeToursLongRunning
e OptimizeToursUri, que permitem que os usuários façam solicitações
de otimização únicas e não bloqueantes. 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 OptimizeTours de bloqueio, 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 é
associada a uma única operação de longa duração (LRO, na sigla em inglês).
Os usuários que preferem incluir a solicitação de otimização podem usar o método
OptimizeToursLongRunning. Já os usuários 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 pelos 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. Depois que 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 a solicitação e a 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 é associado apenas ao único OptimizeToursRequest
enviado.
Exemplo: fazer uma solicitação OptimizeToursUri
Antes de fazer uma solicitação, substitua os seguintes parâmetros pelos 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