Solução de erros de integração

De nuvem para nuvem    Caso

O Google Cloud oferece as ferramentas para monitorar a confiabilidade dos seus projetos com Google Cloud Monitoring e depurar problemas com registros de erros Google Cloud Logging. Sempre que ocorre uma falha ao atender às intenções do usuário, O pipeline do Google Home Analytics registra essa falha nas métricas. publica um registro de erros nos registros do projeto.

Há duas etapas para resolver os erros:

  1. Monitore o estado dos seus projetos com métricas de casa inteligente.
  2. Investigue os problemas verificando as descrições detalhadas de erros na registros de erros.

O processo é semelhante para a integração local usando o Local Home SDK: Depois de dominar o fluxo de solução de problemas, você pode alternar facilmente entre métricas e registros para ter insights sobre seus erros.

Como monitorar erros

Você pode usar Google Cloud Monitoring dashboards. para acessar as métricas do projeto. Há alguns gráficos principais que são especialmente úteis para monitorar a qualidade e a depuração:

  • O gráfico Taxa de sucesso é o primeiro a começar quando você monitorar a confiabilidade dos seus projetos. Quedas nesse gráfico podem indicar uma interrupção do serviço para parte ou toda a base de usuários. Recomendamos monitorar atentamente o gráfico para detectar irregularidades após cada mudança ou atualização no projeto.
  • O gráfico de latência no 95o percentil é um indicador importante da a ação de casa inteligente está sendo realizada para os usuários. Flutuações repentinas nesse gráfico podem indicar que seus sistemas não conseguem acompanhar as solicitações. Verifique periodicamente este gráfico para ver comportamento inesperado.
  • Os gráficos Detalhamento de erros são mais úteis quando se trata de resolver problemas nas integrações. Para cada erro destacado no gráfico de porcentagem de sucesso, um código de erro será exibido no detalhamento dos erros. Confira os erros sinalizados pelo Google Home platform e como resolvê-los na tabela abaixo.

Códigos de erro da plataforma

Aqui estão alguns códigos de erro comuns que podem ser encontrados nos registros do projeto para identifique os problemas detectados pelo Google Home platform. Consulte a tabela a seguir para mais informações sobre solução de problemas.

Código do erro Descrição
BACKEND_FAILURE_URL_ERROR O Google recebeu um código de erro HTTP 4xx diferente de 401 do seu serviço.

Use o requestId no Logging do GCP para verificar seus dados registros de serviços domésticos.
BACKEND_FAILURE_URL_TIMEOUT A solicitação do Google expirou ao tentar acessar seu serviço.

Verifique se o serviço está on-line, aceita conexões e não está acima da capacidade. Além disso, verifique se o destino o dispositivo está ligado, on-line e sincronizado.
BACKEND_FAILURE_URL_UNREACHABLE O Google recebeu um código de erro HTTP 5xx do seu serviço.

Usar o requestId no GCP Logging para verificar os registros do serviço de casa inteligente.
DEVICE_NOT_FOUND O dispositivo não existe no serviço do parceiro.

Isso normalmente indica uma falha na sincronização de dados ou uma condição de corrida.
GAL_BAD_3P_RESPONSE O Google não pode analisar a resposta do serviço de vinculação da sua conta devido a formatos ou valores inválidos no payload.

Utilize o requestId no GCP Logging para verificar os registros de erro no serviço de vinculação de conta.
GAL_INTERNAL Ocorreu um erro interno quando o Google tentou recuperar um token de acesso.

Se você notar uma taxa maior desse erro no Logging do GCP, entre em contato com para saber mais.
GAL_INVALID_ARGUMENT Ocorreu um erro interno quando o Google tentou recuperar um token de acesso.

Se você notar uma taxa maior desse erro no Logging do GCP, entre em contato com para saber mais.
GAL_NOT_FOUND Os tokens de acesso do usuário e tokens de atualização armazenados no Google são invalidada e não pode mais ser atualizada. O usuário precisa vincule novamente a conta dele para continuar usando o serviço.

Se você notar uma taxa maior desse erro no Logging do GCP, entre em contato com para saber mais.
GAL_PERMISSION_DENIED Ocorreu um erro interno do Google quando o compartilhamento de tokens não foi autorizado.

Se você notar uma taxa maior desse erro no Logging do GCP, entre em contato com para saber mais.
GAL_REFRESH_IN_PROGRESS O token de acesso do usuário expirou, e outra tentativa simultânea de refrescá-lo já está em andamento.

Isso não é um problema, e nenhuma ação é necessária.
INVALID_AUTH_TOKEN O Google recebeu um código de erro HTTP 401 do seu serviço.

O token de acesso não expirou, mas seu serviço o invalidou. Use o requestId no Logging do GCP para verificar os dados registros de serviços domésticos.
INVALID_JSON Não é possível analisar ou entender a resposta JSON.

Verifique a estrutura da resposta JSON em busca de sintaxe inválida, como como colchetes incompatíveis, falta de vírgulas, caracteres inválidos.
OPEN_AUTH_FAILURE O token de acesso do usuário tiver expirado e o Google não conseguir atualizá-lo. ou o Google recebeu um código de erro HTTP 401 do seu serviço.

Se você vir uma taxa maior desse código, verifique se também aparece uma Aumento da taxa de erros relacionados a intents de casa inteligente ou atualização solicitações de token.
PARTNER_RESPONSE_INVALID_ERROR_CODE A resposta indica um código de erro não reconhecido.

Se a resposta da solicitação indicar um erro, use uma fornecidos pelo nosso códigos de erro compatíveis.
PARTNER_RESPONSE_INVALID_PAYLOAD Não é possível analisar o campo payload de resposta como um JSON Objeto.

Verifique se o campo de payload em sua resposta de solicitação tem colchetes e está corretamente estruturado como um campo JSON.
PARTNER_RESPONSE_INVALID_STATUS A resposta não indica um status ou indica um status incorreto.

As respostas às solicitações de fulfillment de intent precisam indicar um status com SUCCESS, OFFLINE, ERROR, EXCEPTIONS. Você pode encontrar mais informações em tratamento de erros e exceções.
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES Uma ou mais intents presentes na solicitação estão ausentes na resposta.

Confirme se a resposta de execução está estruturada corretamente e se os resultados de todas as intents da solicitação estão presentes na resposta.
PARTNER_RESPONSE_MISSING_DEVICE Um ou mais dispositivos presentes na solicitação estão ausentes na resposta.

Verifique se o resposta de execução está estruturada corretamente e se todos os dispositivos Os IDs da solicitação estão presentes na resposta.
PARTNER_RESPONSE_MISSING_PAYLOAD A resposta não contém um campo payload.

Inclua um campo de payload na resposta da solicitação. Você pode aprender mais sobre como criar corretamente uma resposta de execução.
PARTNER_RESPONSE_NOT_OBJECT A resposta não pode ser analisada como um objeto JSON.

Verificar todos os campos da resposta da solicitação em busca de caracteres não intencionais. a falta de correspondência entre colchetes ou erros de formatação. Alguns caracteres Unicode podem não ser aceitos. Verifique também se a sua resposta está correta estruturados como um objeto JSON.
PROTOCOL_ERROR Falha ao processar a solicitação.

Use o requestId no Google Cloud Logging para verificar registros de serviços de casa inteligente.
RESPONSE_TIMEOUT A solicitação expirou enquanto aguardava a resposta.

O tempo limite para enviar uma resposta é de nove segundos a partir do dia a solicitação é enviada. Envie uma resposta dentro desse período período.
RESPONSE_UNAVAILABLE Nenhuma resposta é recebida ou a resposta não indica o status.

As respostas às solicitações de fulfillment de intent precisam ser estruturadas de acordo com as documentos de casa inteligente e indicar o status.
TRANSIENT_ERROR Um erro temporário é um erro que será resolvido sozinho.

Normalmente, esses erros se manifestam como uma conexão com um dispositivo ou que um serviço está sendo descartado. Além disso, se novas conexões com um servidor não puderem ser abertas.

Logs de pesquisa

Quando você se sentir confortável em monitorar suas integrações usando métricas, é resolver erros específicos usando Cloud Logging Um registro de erros é uma entrada semelhante a JSON com campos que contêm informações úteis, como hora, código de erro e detalhes sobre a intent de casa inteligente de origem.

Há vários sistemas em Google Cloud que enviam registros para seu projeto em todos os momentos. Você precisa escrever consultas para filtrar seus registros e encontre os que você precisa. As consultas podem ter como base um período, Recurso, registre Gravidade ou entradas personalizadas.

Consultar registros do Cloud

Você pode usar os botões de consulta para criar filtros personalizados.

Criar consultas de registro do Cloud

Para especificar um intervalo de tempo, clique no botão de seleção. e escolha uma das opções . Isso vai filtrar os registros e mostrar aqueles originados na período selecionado.

Para especificar um Recurso, clique no menu suspenso Recurso. e escolha Google Assistant Action Project. Isso adiciona um filtro sua consulta para mostrar registros que se originam do seu projeto.

Use o botão Gravidade para filtrar por Emergência, Informações, Depuração, e outros níveis de registro de gravidade.

Também é possível usar o campo "Consulta" no Logs Explorer para inserir entradas personalizadas. O mecanismo de consulta usado por esse campo oferece suporte consultas básicas, como correspondência de strings, e tipos mais avançados de consultas, incluindo comparadores (<, >=, !=) e operadores booleanos (AND, OR, NOT).

Por exemplo, a entrada personalizada abaixo retornaria erros que originar de um tipo de dispositivo LIGHT:

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

Acesse a Biblioteca de consultas para encontrar mais exemplos de como consultar registros de maneira eficaz.

Testar correções

Depois de identificar os erros e aplicar as atualizações para corrigi-los, recomendamos testar suas correções completamente com Google Home Test Suite Fornecemos um guia do usuário sobre como usar Test Suite, que mostra como testar sua as mudanças de forma eficaz.

Recursos de aprendizagem

Este documento mostra as etapas para resolver erros na sua casa inteligente Ação. Você também pode conferir nossos codelabs para saber mais sobre depuração: