- Categorias:
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> ] )
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())));