응답 오류 문제해결

Cloud Endpoints Frameworks API에 대한 요청에서 응답을 받지 못한 경우 Google Cloud console의 Cloud Logging을 사용하여 문제를 해결할 수 있습니다.

로그 보기

  1. Google Cloud Console에서 Logging> 로그 탐색기 페이지로 이동합니다.

    로그 탐색기 페이지로 이동

  2. 페이지 상단의 프로젝트 드롭다운 목록에서 API를 만든 Google Cloud 프로젝트를 선택합니다.

  3. GAE 애플리케이션모든 로그를 선택합니다.

  4. 오류가 표시되는 행이 보일 때까지 시간 범위를 조정합니다.

  5. 전체 로그에서 오류를 찾아보려면 모두 펼치기를 클릭합니다.

다음 섹션에서는 특정 오류 메시지에 대한 문제해결 정보를 제공합니다. 문제를 해결할 수 없으면 오류가 표시된 로그 항목 중 하나를 복사하여 텍스트 파일에 붙여넣습니다. 그런 다음 Google에 문의할 때 해당 로그를 보냅니다.

503 Service Unavailable

App Engine이 요청에 성공적으로 응답하는 데 몇 분 정도 걸릴 수 있습니다. 요청을 보내고 나서 503 오류가 수신되면 몇 분 기다렸다가 다시 요청을 시도하세요. 그래도 응답이 없으면 Cloud Logging 로그를 확인합니다. Cloud Logging 로그에 다음과 같은 오류 메시지가 표시될 수 있습니다.

오류 메시지 문제 해결
서비스 YOUR_PROJECT_ID.appspot.com을 찾을 수 없거나 권한이 거부되었습니다. 새로운 Endpoints 서비스인 경우 gcloud를 사용하여 서비스 구성을 배포했는지 확인하세요. Python용 Endpoints 프레임워크는 app.yaml 파일에서 지정한 서비스의 서비스 구성을 로드할 수 없을 때 이 오류를 로깅합니다. 이 오류는 gcloud endpoints services deploy를 사용하여 API의 OpenAPI 문서를 배포하지 않았거나 Service Management API를 사용 설정하지 않은 경우에 발생할 수 있습니다. API의 OpenAPI 문서를 배포하면 gcloud 명령어가 자동으로 다음을 사용 설정합니다.
  • Service Management API(servicemanagement.googleapis.com)
  • Cloud API(cloudapis.googleapis.com)
이러한 서비스를 하나라도 중지한 경우 다시 사용 설정해야 합니다. 자세한 내용은 API 사용 설정 및 중지를 참조하세요.
서비스 YOUR_PROJECT_ID.appspot.com이 있지만 SERVICE_CONFIG_ID 버전에 대한 서비스 구성이 없습니다. Python용 Endpoints 프레임워크는 app.yaml 파일에서 ENDPOINTS_SERVICE_VERSION에 지정된 서비스 구성 ID를 찾지 못할 때 이 오류를 로깅합니다. 이 오류를 수정하려면 다음 안내를 따르세요.
  1. 서비스 구성 ID를 가져옵니다.
  2. app.yaml 파일을 수정하고 ENDPOINTS_SERVICE_VERSION을 서비스 구성 ID로 설정합니다.
  3. 앱을 재배포합니다.
    gcloud app deploy

404 Not Found

최근에 Endpoints 프레임워크 버전 2로 마이그레이션한 경우 404 Not Found 오류 메시지가 수신되면 다음 섹션을 참조하여 문제를 해결하세요.

Invoke-WebRequest 예시와 관련된 문제

일부 버전의 Windows PowerShell에서는 가이드Invoke-WebRequest 예시가 실패합니다. 또한 응답에 문자로 변환해야 하는 부호 없는 바이트 목록이 포함되어 있음이 보고되었습니다. Invoke-WebRequest 예시가 예상된 결과를 반환하지 않으면 다른 애플리케이션을 사용하여 요청을 전송해 보세요. 다음은 이와 관련된 몇 가지 권장사항입니다.

  • Cloud Shell을 시작하고 요청을 전송하기 위해 사용한 가이드의 Linux 단계를 수행합니다.
  • Chrome 브라우저 확장 프로그램 Postman(www.getpostman.com에서 제공)과 같은 타사 애플리케이션을 사용합니다. Postman에서 요청을 만들려면 다음 안내를 따르세요.

    • HTTP 동사로 POST를 선택합니다.
    • 헤더에 키 content-type 및 값 application/json을 선택합니다.
    • 본문에 {"message":"hello world"}를 입력합니다.
    • 샘플 애플리케이션의 URL을 입력합니다. 예를 들면 다음과 같습니다.

      https://example-project-12345.appspot.com/_ah/api/echo/v1/echo
      
  • 명령 프롬프트에서 실행되는 curl을 다운로드하여 설치합니다. Windows에서는 작은따옴표 안에 중첩된 큰따옴표가 처리되지 않으므로 예시의 --data 옵션을 --data "{\"message\":\"hello world\"}"와 같이 변경해야 합니다.

다음 단계

  • 로그 탐색기 사용 시작하기

  • 로그 라우팅 방법 알아보기

  • 지연 시간이 300밀리초 이상인 모든 요청 가져오기 등 고급 필터링을 위해 필터를 사용합니다.