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 exemplo INVALID_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>"
}
Copy

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:

Procedimentos:

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];
Copy

Possíveis códigos de erro:

  • CONFIGURE_CONNECTOR_FAILED - ocorre quando a etapa de configuração do conector do assistente falhou

  • SET_CONNECTION_CONFIGURATION_FAILED - ocorre quando a etapa de definição de configuração da conexão do assistente falhou

  • FINALIZE_CONNECTOR_CONFIGURATION_FAILED - ocorre quando a etapa de finalização de configuração do conector do assistente falhou

  • PAUSE_CONNECTOR_FAILED - ocorre quando o processo de pausa do conector falhou

  • RESUME_CONNECTOR_FAILED - ocorre quando o processo de retomada do conector falhou