Categorias:

Information Schema , Funções de tabela

ALERT_HISTORY

Esta função de tabela INFORMATION_SCHEMA pode ser usada para consultar o histórico de alertas dentro de um intervalo de datas especificado. A função retorna o histórico de alertas para toda sua conta Snowflake ou para um alerta específico.

Você também pode acessar estas informações pela exibição ALERT_HISTORY no esquema ACCOUNT_USAGE. Para obter mais detalhes sobre as diferenças entre a função de exibição e de tabela, consulte Diferenças entre Account Usage e Information Schema.

Nota

Esta função retorna as execuções de alerta nos últimos 7 dias ou a próxima execução programada dentro dos próximos 8 dias.

Sintaxe

ALERT_HISTORY(
      [ SCHEDULED_TIME_RANGE_START => <constant_expr> ]
      [, SCHEDULED_TIME_RANGE_END => <constant_expr> ]
      [, RESULT_LIMIT => <integer> ]
      [, ALERT_NAME => '<string>' ] )
Copy

Argumentos

Todos os argumentos são opcionais.

SCHEDULED_TIME_RANGE_START => constant_expr , . SCHEDULED_TIME_RANGE_END => constant_expr

Faixa de tempo (no formato TIMESTAMP_LTZ), dentro dos últimos 7 dias, nos quais a avaliação da condição para o alerta foi agendada.

  • Se SCHEDULED_TIME_RANGE_END não for especificado, a função retorna aqueles alertas que já foram concluídos, que estão atualmente em execução ou que estão programados para o futuro.

  • Se SCHEDULED_TIME_RANGE_END for CURRENT_TIMESTAMP, a função retornará aqueles alertas que já foram concluídos ou que estão atualmente em execução. Note que um alerta executado imediatamente antes da hora atual ainda pode ser identificado como programado.

Nota

Se não for especificada a hora de início ou fim, os alertas mais recentes são retornados até o valor RESULT_LIMIT especificado.

Se o intervalo não ficar dentro dos últimos 7 dias, um erro é retornado.

RESULT_LIMIT => integer

Um número especificando o número máximo de linhas retornadas pela função.

Se o número de linhas correspondentes for maior que este limite, as execuções de alerta com o carimbo de data/hora mais recente são devolvidas até o limite especificado.

Intervalo: 1 a 10000

Padrão: 100.

ALERT_NAME => string

Uma cadeia de caracteres que não diferencia maiúsculas e minúsculas, especificando um alerta. Somente nomes de alerta não-qualificados são suportados. Somente as execuções do alerta especificado são retornados. Observe que se vários alertas tiverem o mesmo nome, a função retorna o histórico para cada um desses alertas.

Notas de uso

  • Retorna resultados somente para a função ACCOUNTADMIN, o proprietário do alerta (ou seja, a função com o privilégio OWNERSHIP no alerta).

  • Esta função retorna um máximo de 10.000 linhas, definido no valor do argumento RESULT_LIMIT. O valor padrão é 100.

    Observe que quando a função ALERT_HISTORY é consultada, seu nome de alerta, intervalo de tempo e argumentos de limite de resultado são aplicados primeiro, seguido pela cláusula WHERE e LIMIT, respectivamente, se especificado. Além disso, a função ALERT_HISTORY retorna registros em ordem decrescente SCHEDULED_TIME. Os alertas que são concluídos (isto é, com um estado SUCCEEDED, FAILED ou CANCELLED) tendem a ser programados mais cedo, de modo que geralmente são retornados mais tarde, em ordem nos resultados da busca.

    Na prática, se você tiver muitos alertas em execução em sua conta, os resultados retornados pela função podem incluir menos alertas concluídos do que o esperado ou apenas alertas programados, especialmente se o valor RESULT_LIMIT for relativamente baixo. Para consultar o histórico de alertas que já foram executados, o Snowflake recomenda usar uma combinação dos argumentos SCHEDULED_TIME_RANGE_START => constant_expr e/ou SCHEDULED_TIME_RANGE_END => constant_expr.

  • 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.

  • Esta função pode retornar todas as execuções feitas nos últimos 7 dias ou a próxima execução programada dentro dos próximos 8 dias.

Saída

A função de tabela ALERT_HISTORY produz uma linha para cada execução de alerta. Cada linha contém as seguintes colunas:

Nome da coluna

Tipo de dados

Descrição

NAME

TEXT

Nome do alerta.

DATABASE_NAME

TEXT

Nome do banco de dados que contém o alerta.

SCHEMA_NAME

TEXT

Nome do esquema que contém o alerta.

CONDITION

TEXT

O texto da instrução SQL que serve como condição para o alerta.

CONDITION_QUERY_ID

TEXT

Identificador interno/gerado pelo sistema para a instrução SQL executada como a condição do alerta.

ACTION

TEXT

O texto da instrução SQL que serve como ação para o alerta.

ACTION_QUERY_ID

TEXT

Identificador interno/gerado pelo sistema para a instrução SQL executada como ação do alerta.

STATE

TEXT

Status do alerta. Isso pode ser uma das seguintes opções:

  • SCHEDULED: o alerta será executado no momento especificado pela coluna SCHEDULED_TIME.

  • EXECUTING: a condição ou ação do alerta está sendo executada atualmente.

  • FAILED: o alerta falhou. A condição de alerta ou a ação de alerta encontrou um erro que a impediu de ser executada.

  • CANCELLED: a execução do alerta foi cancelada (por exemplo, quando o alerta é suspenso).

  • CONDITION_FALSE: a condição foi avaliada com sucesso, mas não retornou dados. Como resultado, a ação não foi executada.

  • CONDITION_FAILED: a avaliação da condição falhou. Para obter mais detalhes sobre a falha, verifique as colunas SQL_ERROR_CODE e SQL_ERROR_MESSAGE.

  • ACTION_FAILED: a condição foi avaliada com sucesso, mas a execução da ação fracassou. Para obter mais detalhes sobre a falha, verifique as colunas SQL_ERROR_CODE e SQL_ERROR_MESSAGE.

  • TRIGGERED: a condição foi avaliada com sucesso, e a ação foi executada com sucesso.

SQL_ERROR_CODE

NUMBER

Código de erro, se o alerta tiver retornado um erro ou não tiver sido executado (por exemplo, se o usuário atual não tinha privilégios para executar o alerta).

SQL_ERROR_MESSAGE

VARCHAR

Mensagem de erro, se o alerta tiver retornado um erro.

SCHEDULED_TIME

TIMESTAMP_LTZ

Hora em que o alerta está/estava programado para começar a execução.

Note que fazemos o melhor para assegurar uma precisão absoluta, mas só garantimos que os alertas não sejam executados antes do horário programado.

COMPLETED_TIME

TIMESTAMP_LTZ

Tempo em que o alerta foi concluído, ou NULL se SCHEDULED_TIME estiver no futuro ou se o alerta ainda estiver em execução.