Solução de problemas¶
Este tópico fornece diretrizes para a solução de problemas com o Snowflake Native SDK for Connectors. Se você quiser descobrir a causa de um erro específico, precisará de ferramentas apropriadas que facilitem o processo de solução de problemas. Por essa razão o Snowflake Native SDK for Connectors fornece alguns procedimentos, exibições e outros métodos para solucionar problemas do conector de forma eficaz.
Respostas de procedimento¶
Normalmente, quando algo errado acontece com o conector, ou mesmo quando o usuário não consegue executar o procedimento específico com sucesso devido ao estado do conector, a primeira fonte de dados de solução de problemas deve ser a resposta do procedimento. No Snowflake Native SDK for Connectors, a resposta de erro do procedimento é padronizada. A resposta é retornada como um VARIANT
com dois campos, que estão sempre presentes:
response_code
- o valor deste campo, em caso de resposta de erro, é um código de erro, por exemploINVALID_CONNECTOR_STATUS
message
- o valor deste campo é uma mensagem que fornece mais informações sobre o erro ocorrido
Estrutura de uma resposta de erro:
{ "response_code": "<ERROR_CODE>", "message": "<error message>" }
Objetos de banco de dados¶
O Snowflake Native SDK for Connectors fornece algumas exibições e procedimentos que ajudam a verificar o estado real do conector.
Exibições:
PUBLIC.CONNECTOR_CONFIGURATION
(consulte Referência de configurações de conexão)PUBLIC.SYNC_STATUS
(consulte Referência do status de sincronização)PUBLIC.CONNECTOR_STATS
(consulte Referência de estatísticas do conector)PUBLIC.AGGREGATED_CONNECTOR_STATS
(consulte Referência de estatísticas do conector)
Procedimentos:
PUBLIC.GET_CONNECTOR_STATUS()
(consulte Referência de SQL essencial)PUBLIC.GET_CONNECTION_CONFIGURATION()
(consulte Referência de configurações de conexão)
Tabela de eventos¶
Por padrão, os procedimentos fornecidos pelo SDK que são implementados em Java usam ConnectorErrorHelper
para encapsular exceções lançadas durante a execução de um procedimento específico. Além de encapsular a exceção lançada e mapeá-la para ConnectorResponse
com um código de erro, a implementação padrão de ConnectorErrorHelper
registra eventos com base nas exceções geradas na Tabela de Eventos, se ela estiver configurada na conta do cliente. Se você quiser saber mais sobre como usar a tabela de eventos, consulte a documentação oficial do Snowflake.
Existe a possibilidade de filtrar os logs gerados pelo Snowflake Native SDK for Connectors da tabela de eventos conhecendo apenas o nome da instância do aplicativo. Além disso, também existe a possibilidade de filtrar logs de erros que ocorreram nas partes mais comuns do conector.
Consulta de exemplo:
SELECT * FROM PLATFORM_CI_TOOLS.PUBLIC.EVENTS
WHERE RESOURCE_ATTRIBUTES:"snow.database.name" LIKE '<INSTANCE_NAME>'
[AND SCOPE:"name" LIKE '<ERROR_CODE>']
[ORDER BY timestamp DESC];
Possíveis códigos de erro:
CONFIGURE_CONNECTOR_FAILED
- ocorre quando a etapa de configuração do conector do assistente falhouSET_CONNECTION_CONFIGURATION_FAILED
- ocorre quando a etapa de definição de configuração da conexão do assistente falhouFINALIZE_CONNECTOR_CONFIGURATION_FAILED
- ocorre quando a etapa de finalização de configuração do conector do assistente falhouPAUSE_CONNECTOR_FAILED
- ocorre quando o processo de pausa do conector falhouRESUME_CONNECTOR_FAILED
- ocorre quando o processo de retomada do conector falhou