Route Optimization API는 두 가지 메서드를 노출합니다.
OptimizeTours
는OptimizeToursRequest
에 대한 응답으로 최적화된 경로를 반환하는 동기식 메서드입니다. 요청이 처리되고OptimizeToursResponse
또는 오류가 반환될 때까지 클라이언트는 Route Optimization API에 대한 열린 연결을 유지해야 합니다.BatchOptimizeTours
는 하나 이상의OptimizeToursRequest
및 해당OptimizeToursResponse
메시지의 URI를 수락하는 비동기 메서드로, 일괄 완료를 확인하는 데 사용되는 장기 실행 작업(REST, gRPC)의 리소스 이름을 반환합니다.OptimizeToursRequest
는 백그라운드에서 처리되므로 클라이언트는BatchOptimizeToursRequest
를 제출하거나 {10/RO 상태를 확인할 만큼만 경로 최적화 API에 대한 개방형 연결을 유지합니다.GetOperation
BatchOptimizeTours
는 Google Cloud Storage의 요청을 읽고 응답을 작성합니다.
사용 사례
OptimizeTours
는 작고 간단한 요청을 해결하거나 해결 시간이 몇 분 이내인 요청에 편리합니다. Route Optimization API에 대한 연결을 장기간 유지하면 솔루션이 반환되기 전에 중단 위험이 커집니다.
BatchOptimizeTours
는 Route Optimization API에 대한 수명이 긴 연결이 필요하지 않으므로 해결 시간이 더 긴 대규모 요청과 요청을 처리할 수 있습니다.
장기 실행 작업
배치 완료 상태를 확인하기 위해 GetOperation
메서드를 사용하여 Route Optimization API에서 LRO를 읽습니다. LRO에는 전체 배치의 처리가 완료되었는지 여부를 나타내는 done
속성과 처리 중에 발생한 오류를 보고하는 error
필드가 포함됩니다. done
이 true이고 error
가 없으면 배치가 성공적으로 완료된 것입니다. error
가 있으면 일괄 처리의 일부 또는 전부가 실패했음을 나타냅니다.
BatchOptimizeTours
요청의 일반적인 수명 주기는 다음과 같습니다.
- Route Optimization API에
BatchOptimizeToursRequest
를 제출합니다. 그러면 LRO의 리소스 이름이 반환됩니다. - LRO 응답에
done
또는error
속성이 나타날 때까지 반환된 LRO 리소스 이름으로GetOperation
를 폴링합니다. done
이 true이고 오류가 없으면BatchOptimizeTours
요청에 지정된 Google Cloud Storage URI에서OptimizeToursResponses
를 읽습니다.error
가 있으면 오류를 검사하고 Google Cloud Storage에서 적절하게OptimizeToursRequest
를 업데이트한 후 관찰된 오류에 따라 적절하게 재시도합니다.
명령줄에서 또는 클라이언트 라이브러리를 사용하여 다양한 방법으로 OptimizeTours
및 BatchOptimizeTours
요청을 보낼 수 있습니다.