단일 비차단형 Optimization API 메서드

이 가이드에서는 사용자가 단일 비차단 최적화 요청을 할 수 있는 OptimizeToursLongRunningOptimizeToursUri API 메서드의 실험 버전을 소개합니다. 비차단 최적화에서 사용자는 GetOperation를 호출하여 최적화 상태를 참조하는 데 사용할 수 있는 Operation 프로토를 메서드에서 빠르게 수신합니다. 자세한 내용은 장기 실행 작업을 참고하세요.

이러한 비차단 메서드는 최적화가 실행되는 동안 클라이언트가 서버에 대한 연결을 유지할 필요가 없으므로 차단 OptimizeTours 메서드보다 안정성 이점을 제공합니다. 또한 이러한 새 메서드를 사용하면 각 최적화가 단일 장기 실행 작업 (LRO)과 연결되므로 BatchOptimizeTours에 비해 오류를 더 쉽게 디버그할 수 있습니다.

최적화 요청을 인라인 처리하려는 사용자는 OptimizeToursLongRunning 메서드를 사용하고, Google Cloud Storage를 사용하여 요청과 읽기 응답을 업로드하려는 사용자는 OptimizeToursUri 메서드를 사용할 수 있습니다.

OptimizeToursLongRunning

예: OptimizeToursLongRunning 요청

요청하기 전에 다음 매개변수를 환경에 적합한 값으로 바꿉니다.

  • OAuth 사용에 설명된 대로 애플리케이션 기본 사용자 인증 정보가 구성되어 있는지 확인합니다.
  • PROJECT_NUMBER_OR_ID를 Cloud 프로젝트 번호 또는 ID로 설정합니다.

    다음 명령어는 Route Optimization API에 OptimizeToursLongRunning 요청을 전송하고, 이와 연결된 작업 ID를 수신합니다. GetOperation 메서드를 사용하여 작업 상태를 쿼리할 수 있습니다. 작업이 완료되면 메타데이터에 최종 OptimizeToursResponse도 포함됩니다.

    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

BatchOptimizeTours와 마찬가지로 OptimizeToursUri를 사용하여 Google Cloud Storage에 최적화 요청 및 응답을 계속 저장할 수 있습니다. Cloud Storage URI는 OptimizeToursUri 요청 메시지에 지정해야 합니다. 반환된 Operation 상태는 제출된 단일 OptimizeToursRequest와만 연결됩니다.

예: OptimizeToursUri 요청

요청하기 전에 다음 매개변수를 환경에 적합한 값으로 바꿉니다.

  • OAuth 사용에 설명된 대로 애플리케이션 기본 사용자 인증 정보가 구성되어 있는지 확인합니다.
  • PROJECT_NUMBER_OR_ID를 Cloud 프로젝트 번호 또는 ID로 설정합니다.

    다음 명령어는 Route Optimization API에 OptimizeToursUri 요청을 전송하고, 이와 연결된 작업 ID를 수신합니다. GetOperation 메서드를 사용하여 작업 상태를 쿼리합니다. 작업이 완료되면 OptimizeToursResponse가 요청에 제공된 출력 URI 경로에 원격으로 저장됩니다.

    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