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