Categorias:

Information Schema , Funções de tabela

VALIDATE_PIPE_LOAD

Esta função de tabela pode ser usada para validar arquivos de dados processados pelo Snowpipe dentro de um intervalo de tempo especificado. A função retorna detalhes sobre quaisquer erros encontrados durante uma tentativa de carregamento de dados nas tabelas Snowflake.

Nota

Esta função retorna a atividade do canal dos últimos 14 dias.

Sintaxe

VALIDATE_PIPE_LOAD(
      PIPE_NAME => '<string>'
       , START_TIME => <constant_expr>
      [, END_TIME => <constant_expr> ] )
Copy

Argumentos

PIPE_NAME => string

Um cadeia de caracteres especificando um canal. A função retorna resultados apenas para o canal especificado.

START_TIME => constant_expr

Carimbo de data/hora (no formato TIMESTAMP_LTZ), dos últimos 14 dias, marcando o início do intervalo de tempo para a recuperação de eventos de erro.

Opcional:

END_TIME => constant_expr

Carimbo de data/hora (no formato TIMESTAMP_LTZ), dos últimos 14 dias, marcando o fim do intervalo de tempo para a recuperação de eventos de erro.

Notas de uso

  • Retorna resultados somente para o proprietário do canal (ou seja, a função com o privilégio OWNERSHIP no canal) ou uma função com as seguintes permissões mínimas:

    Privilégio

    Objeto

    Notas

    MONITOR

    Canal

    Alternativamente, o privilégio global MONITOR EXECUTION é suportado.

    USAGE

    Estágio na definição do canal

    Somente estágios externos

    READ

    Estágio na definição do canal

    Somente estágios internos

    SELECT

    Tabela na definição do canal

    INSERT

    Tabela na definição do canal

    Operações SQL sobre objetos de esquema também exigem o privilégio USAGE no banco de dados e esquema que contém o objeto.

  • Ao chamar uma função de tabela do Information Schema, a sessão deve ter um esquema INFORMATION_SCHEMA em uso ou o nome da função deve ser totalmente qualificado. Para obter mais detalhes, consulte Snowflake Information Schema.

  • Se o Snowpipe não encontrou erros durante o processamento de arquivos de dados dentro do intervalo de tempo especificado, a função não retornará nenhum resultado.

  • Se a instrução COPY na descrição do canal incluir uma consulta para transformar ainda mais os dados durante o carregamento (ou seja, uma transformação de COPY), então a função retornará atualmente um erro do usuário.

  • Se o intervalo de datas especificado estiver fora dos últimos 15 dias, um erro é devolvido.

Saída

A função retorna as seguintes colunas:

Nome da coluna

Tipo de dados

Descrição

ERROR

TEXT

Primeiro erro no arquivo de origem.

FILE

TEXT

Nome do arquivo de origem onde o erro foi encontrado.

LINE

NUMBER

Número da linha no arquivo de origem onde o erro foi encontrado.

CHARACTER

NUMBER

Posição do caractere onde o erro foi encontrado.

BYTE_OFFSET

NUMBER

Offset do byte do caractere onde o erro foi encontrado.

CATEGORY

TEXT

Categoria da operação quando o erro foi produzido.

CODE

NUMBER

ID da mensagem de erro exibida na coluna ERROR.

SQL_STATE

NUMBER

Código de estado SQL.

COLUMN_NAME

TEXT

Nome e ordem da coluna que continha o erro.

ROW_NUMBER

NUMBER

Número da linha no arquivo de origem onde o erro foi encontrado.

ROW_START_LINE

NUMBER

Número da primeira linha da linha onde o erro foi encontrado.

REJECTED_RECORD

TEXT

Registro que continha o erro.

Exemplos

Validar qualquer carregamento para o canal mypipe na hora anterior:

select * from table(validate_pipe_load(
  pipe_name=>'MY_DB.PUBLIC.MYPIPE',
  start_time=>dateadd(hour, -1, current_timestamp())));
Copy