통합 오류 문제 해결하기

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 요청에 있는 하나 이상의 인텐트가 있습니다.

다음 <ph type="x-smartling-placeholder"></ph> 실행 응답이 올바르게 구조화되어 있고 결과가 가 요청에 있는 모든 인텐트가 응답에 표시됩니다.
PARTNER_RESPONSE_MISSING_DEVICE 요청에 있는 하나 이상의 기기가 있습니다.

다음 <ph type="x-smartling-placeholder"></ph> 실행 응답이 올바르게 구조화되어 있고 모든 기기가 요청에 있는 ID가 응답에 있는지 확인합니다.
PARTNER_RESPONSE_MISSING_PAYLOAD 응답에 payload 필드가 포함되어 있지 않습니다.

요청 응답에 페이로드 필드를 포함해야 합니다. 나 컨테이너 이미지를 올바르게 빌드하는 방법에 대해 <ph type="x-smartling-placeholder"></ph> 응답을 시작합니다.
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에서 디버깅에 관해 자세히 알아볼 수도 있습니다.