통합 오류 문제 해결

클라우드 간    법적 사안

Google Cloud 드림 프로젝트의 안정성을 모니터링할 수 있는 도구를 제공합니다. Google Cloud Monitoring 관련 디버그 문제 및 Google Cloud Logging 관련 디버그 문제 오류 로그 사용자 인텐트를 처리할 때 실패가 발생할 때마다 Google Home 애널리틱스 파이프라인은 측정항목에 실패를 기록함 프로젝트 로그에 오류 로그를 게시합니다.

오류 문제를 해결하려면 다음 두 단계를 따르세요.

  1. 스마트 홈 측정항목으로 프로젝트 상태를 모니터링하세요.
  2. 자세한 오류 설명을 확인하여 문제를 조사하세요. 오류 로그

프로세스는 다음을 사용하는 로컬 통합과 유사합니다. Local Home SDK 문제 해결 흐름을 숙달하면 측정항목과 로그 간에 쉽게 전환하여 오류에 대한 유용한 정보를 얻을 수 있습니다.

모니터링 오류

Google Cloud Monitoring dashboard를 사용할 수 있습니다. 프로젝트 측정항목에 액세스할 수 있습니다 품질 모니터링 및 디버깅에 특히 유용한 몇 가지 주요 차트가 있습니다.

  • 성공률 차트는 프로젝트의 안정성을 모니터링할 수 있습니다 이 차트에서 하락이 발생할 수 있는 경우 사용자층의 일부 또는 전체에 대한 중단을 나타낼 수 있습니다. 권장 조치 차트에서 변경 후 이상이 있는지 면밀히 모니터링 프로젝트를 업데이트할 수 있습니다
  • 95번째 백분위수 지연 시간 차트는 스마트 홈 작업의 실적을 파악할 수 있습니다 급격한 변동 시스템이 따라잡기 어려웠을 수 있음을 요청을 전달합니다. 예상치 못한 동작이 있는지 확인하려면 이 차트를 주기적으로 확인하는 것이 좋습니다.
  • 오류 분석 차트는 오류 발생 시 통합 관련 문제를 해결할 수 있습니다 모든 오류 성공률 차트에 강조 표시되면 오류 코드가 확인할 수 있습니다 각 오류에 대해 Google Home platform 및 문제 해결 방법 를 참조하세요.

플랫폼 오류 코드

다음은 프로젝트 로그에서 볼 수 있는 몇 가지 일반적인 오류 코드입니다. Google Home platform에서 포착한 문제를 식별합니다. 자세한 내용은 문제 해결 정보를 보려면 다음 표를 참조하세요.

오류 코드 설명
BACKEND_FAILURE_URL_ERROR Google이 서버에서 401이 아닌 HTTP 4xx 오류 코드를 있습니다.

GCP Logging에서 requestId를 사용하여 홈 서비스 로그.
BACKEND_FAILURE_URL_TIMEOUT 서비스에 연결하려고 할 때 Google의 요청 시간이 초과되었습니다.

서비스가 온라인 상태인지, 연결을 수락하는지, 용량이 초과되지 않았는지 확인합니다 또한 대상 기기가 켜져 있고, 온라인 상태이며, 동기화되어 있는지 확인합니다.
BACKEND_FAILURE_URL_UNREACHABLE 서비스로부터 HTTP 5xx 오류 코드가 수신되었습니다.

GCP Logging에서 requestId를 사용하여 홈 서비스 로그.
DEVICE_NOT_FOUND 기기가 파트너 서비스 측에 존재하지 않습니다.

이는 일반적으로 데이터 동기화에 실패했거나 경합이 발생했음을 나타냅니다. 있습니다.
GAL_BAD_3P_RESPONSE Google에서 계정 연결 서비스의 응답을 파싱할 수 없습니다. 잘못된 형식 또는 페이로드로 인해 발생할 수 있습니다.

GCP Logging의 requestId를 사용하여 계정 연결 서비스의 오류 로그를 확인합니다.
GAL_INTERNAL Google이 액세스할 수 있습니다.

GCP Logging에서 이 오류 발생률이 증가하는 것으로 나타나면 Google에 문의하시기 바랍니다.
GAL_INVALID_ARGUMENT Google이 액세스할 수 있습니다.

GCP Logging에서 이 오류 발생률이 증가하는 것으로 나타나면 Google에 문의하시기 바랍니다.
GAL_NOT_FOUND Google에 저장된 사용자의 액세스 토큰과 갱신 토큰은 무효화되어 더 이상 새로고침할 수 없습니다. 사용자가 서비스를 계속 사용하려면 계정을 다시 연결해야 합니다.

GCP Logging에서 이 오류의 발생 빈도가 증가하는 경우 Google에 문의하여 자세한 내용을 알아보세요.
GAL_PERMISSION_DENIED 토큰을 공유할 수 없을 때 Google 내부 오류가 발생했습니다. 있습니다.

GCP Logging에서 이 오류 발생률이 증가하는 것으로 나타나면 Google에 문의하시기 바랍니다.
GAL_REFRESH_IN_PROGRESS 사용자의 액세스 토큰이 만료되었으며 동시에 새로고침하면 됩니다

문제는 아니며 별도의 조치가 필요하지 않습니다.
INVALID_AUTH_TOKEN 서비스로부터 HTTP 401 오류 코드가 수신되었습니다.

액세스 토큰이 만료되지 않았지만 서비스에서 이를 무효화했습니다. GCP Logging에서 requestId를 사용하여 스마트 홈 서비스 로그를 확인합니다.
INVALID_JSON JSON 응답을 파싱하거나 이해할 수 없습니다.

JSON 응답 구조에 잘못된 구문(예: 일치하지 않는 괄호, 쉼표 누락, 잘못된 문자 등입니다.
OPEN_AUTH_FAILURE 사용자의 액세스 토큰이 만료되어 Google에서 갱신할 수 없음 Google이 서비스로부터 HTTP 401 오류 코드를 수신했다는 의미입니다.

이 코드의 속도가 증가하면 스마트 홈 인텐트 또는 새로고침 관련 오류율 증가 토큰 요청을 처리할 수 있습니다.
PARTNER_RESPONSE_INVALID_ERROR_CODE 응답은 인식할 수 없는 오류 코드를 나타냅니다.

요청 응답이 오류를 나타내는 경우, 오류 중 하나를 사용해야 합니다. 제공 지원되는 오류 코드를 확인하세요.
PARTNER_RESPONSE_INVALID_PAYLOAD 응답 payload 필드를 JSON 객체로 파싱할 수 없습니다.

요청 응답의 페이로드 필드가 JSON 필드로 올바르게 구성되어 있습니다.
PARTNER_RESPONSE_INVALID_STATUS 응답이 상태를 나타내지 않거나 올바르지 않은 상태를 나타냅니다.

인텐트 처리 요청에 대한 응답은 상태를 나타내야 합니다. SUCCESS, OFFLINE, ERROR, EXCEPTIONS 중 하나를 사용합니다. 오류 및 예외 처리에 관한 자세한 내용은
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES 요청에 있는 하나 이상의 인텐트가 있습니다.

다음 실행 응답이 올바르게 구조화되어 있고 결과가 가 요청에 있는 모든 인텐트가 응답에 표시됩니다.
PARTNER_RESPONSE_MISSING_DEVICE 요청에 있는 기기 중 하나 이상이 응답에 누락되었습니다.

수행 응답이 올바르게 구성되어 있고 요청의 모든 기기 ID가 응답에 포함되어 있는지 확인합니다.
PARTNER_RESPONSE_MISSING_PAYLOAD 응답에 payload 필드가 포함되어 있지 않습니다.

요청 응답에 페이로드 필드를 포함해야 합니다. 나 컨테이너 이미지를 올바르게 빌드하는 방법에 대해 응답을 시작합니다.
PARTNER_RESPONSE_NOT_OBJECT 응답을 JSON 객체로 파싱할 수 없습니다.

요청 응답의 모든 필드에서 의도하지 않은 문자, 일치하지 않는 대괄호 또는 형식 오류가 있는지 확인합니다. 일부 유니코드 문자 지원되지 않을 수 있습니다 답변이 정확한지도 확인하세요. JSON 객체로 구조화됩니다
PROTOCOL_ERROR 요청을 처리하지 못했습니다.

Google Cloud Logging에서 requestId를 사용하여 스마트 홈 서비스 로그.
RESPONSE_TIMEOUT 응답을 기다리는 동안 요청 시간이 초과되었습니다.

응답 전송 제한 시간은 요청이 전송됩니다 이 기간 내에 응답을 보내야 합니다. 할 수 있습니다.
RESPONSE_UNAVAILABLE 응답이 수신되지 않거나 응답에 상태가 표시되지 않습니다.

인텐트 처리 요청에 대한 응답은 구조화되어야 함 에 따르면 스마트 홈 문서를 읽고 상태를 표시합니다.
TRANSIENT_ERROR 일시적인 오류는 저절로 해결되는 오류입니다.

이러한 오류는 일반적으로 기기 또는 서비스 연결이 끊어지는 것으로 나타납니다. 또한 서버에 대한 새로운 연결을 열었습니다.

검색 로그

측정항목을 사용하여 통합을 모니터링하는 데 익숙해지면 다음 단계는 사용하여 특정 오류를 해결하는 것입니다. Cloud Logging 오류 로그는 시간, 오류 등 유용한 정보가 포함된 필드가 있는 JSON과 유사한 항목입니다. 원래 스마트 홈 인텐트에 관한 코드 및 세부정보를 제공합니다.

Google Cloud 내에 로그를 전송하는 프로젝트를 항상 실행합니다. 로그를 필터링하는 쿼리를 작성하여 필요한 로그를 찾아야 합니다. 검색어는 기간, 리소스, 로그 심각도 또는 커스텀 항목

Cloud 로그 쿼리

검색어 버튼을 사용하여 맞춤 필터를 만들 수 있습니다.

Cloud 로그 쿼리 빌드

기간을 지정하려면 기간 선택 버튼을 클릭합니다. 을 클릭하고 제공된 있습니다. 이렇게 하면 로그가 필터링되고 선택한 기간에 발생한 로그가 표시됩니다.

리소스를 지정하려면 리소스 드롭다운을 클릭합니다. 그런 다음 Google Assistant Action Project를 선택합니다. 이렇게 하면 쿼리를 실행하여 프로젝트에서 발생한 로그를 볼 수 있습니다.

심각도 버튼을 사용하여 긴급, 정보, 디버그, 기타 심각도 로그 수준으로 필터링합니다.

Logs Explorer의 쿼리 필드를 사용할 수도 있습니다. 커스텀 항목을 입력할 수 있습니다. 이 필드에서 사용되는 쿼리 엔진은 문자열 일치와 같은 기본 쿼리 및 비교 연산자 (<, >=, !=)와 부울 연산자 (AND, OR, NOT)를 사용합니다.

예를 들어 아래의 커스텀 항목은 LIGHT 기기 유형에서 비롯됩니다.

resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"

쿼리 라이브러리로 이동 을 읽고 로그를 효과적으로 쿼리하기 위한 예를 더 많이 찾아보세요.

테스트 수정사항

오류를 식별하고 업데이트를 적용하여 수정한 후에는 테스트를 진행하는 것이 좋습니다. 철저하게 문제를 Google Home Test Suite Google에서는 Test Suite 사용 방법 효과적으로 변경할 수 있습니다

학습 리소스

이 문서에서는 스마트 홈의 오류를 해결하는 단계를 설명합니다. 액션. Codelab에서 디버깅에 관해 자세히 알아볼 수도 있습니다.