동기 및 비동기 엔드포인트

Route Optimization API는 두 가지 메서드를 노출합니다.

  • OptimizeToursOptimizeToursRequest에 대한 응답으로 최적화된 경로를 반환하는 동기식 메서드입니다. 클라이언트는 요청이 처리되고 OptimizeToursResponse 또는 오류가 반환될 때까지 Route Optimization API에 대한 연결을 열어 두어야 합니다.
  • BatchOptimizeTours는 하나 이상의 OptimizeToursRequest 및 해당 OptimizeToursResponse 메시지의 URI를 허용하고 일괄 완료를 확인하는 데 사용되는 장기 실행 작업 (LRO)(REST, gRPC)의 리소스 이름을 반환하는 비동기 메서드입니다. OptimizeToursRequest는 백그라운드에서 처리되므로 클라이언트는 BatchOptimizeToursRequest를 제출하거나 GetOperation를 호출하여 LRO 상태를 확인하는 데 필요한 시간 동안만 Route Optimization API에 대한 연결을 열어 둡니다. BatchOptimizeToursGoogle Cloud Storage에서 요청을 읽고 응답을 씁니다.

사용 사례

OptimizeTours는 작고 간단한 요청을 해결하거나 해결 시간이 몇 분 이하인 요청을 해결하는 데 편리합니다. Route Optimization API에 대한 장기 연결을 유지하면 솔루션을 반환하기 전에 중단될 위험이 커집니다.

BatchOptimizeTours는 경로 최적화 API에 대한 장기 연결이 필요하지 않으므로 더 큰 요청과 해결 시간이 더 긴 요청을 처리할 수 있습니다.

장기 실행 작업

LRO는 GetOperation 메서드를 사용하여 Route Optimization API에서 읽고 일괄 처리의 완료 상태를 확인합니다. LRO에는 전체 일괄 처리가 완료되었는지 여부를 나타내는 done 속성과 처리 중에 발생한 오류를 보고하는 error 필드가 포함됩니다. done이 true이고 error가 없는 경우 일괄 처리가 성공적으로 완료된 것입니다. error가 있으면 일괄 처리의 일부 또는 전부가 처리되지 않았음을 나타냅니다.

BatchOptimizeTours 요청의 일반적인 수명 주기는 다음과 같습니다.

  1. LRO의 리소스 이름을 반환하는 Route Optimization API에 BatchOptimizeToursRequest를 제출합니다.
  2. done 또는 error 속성이 LRO 응답에 표시될 때까지 반환된 LRO 리소스 이름으로 GetOperation를 폴링합니다.
  3. done가 true이고 오류가 없는 경우 BatchOptimizeTours 요청에 지정된 Google Cloud Storage URI에서 OptimizeToursResponses를 읽습니다. error가 있는 경우 오류를 검사하고 Google Cloud Storage에서 적절하게 OptimizeToursRequest를 업데이트한 후 관찰된 오류에 따라 적절하게 다시 시도합니다.

명령줄 또는 클라이언트 라이브러리를 사용하여 다양한 방법으로 OptimizeToursBatchOptimizeTours 요청을 보낼 수 있습니다.

다음: API 요청하기