Categorias:

Information Schema , Funções de tabela

NOTIFICATION_HISTORY

Esta função de tabela pode ser usada para consultar o histórico das notificações enviadas pelo Snowflake. Essas notificações incluem:

As linhas retornadas representam:

  • Solicitações que estão sendo processadas.

  • Tentativas frustradas de envio de notificações.

  • Notificações que foram enviadas com sucesso.

A coluna STATUS indica o que cada linha representa. Consulte Exemplos de saída de função.

Sintaxe

NOTIFICATION_HISTORY(
  [ START_TIME => <constant_expr> ]
  [, END_TIME => <constant_expr> ]
  [, INTEGRATION_NAME => '<string>' ]
  [, RESULT_LIMIT => <integer> ] )
Copy

Argumentos

Todos os argumentos são opcionais.

START_TIME=> constant_expr , . END_TIME=> constant_expr

Intervalo de tempo (em formato TIMESTAMP_LTZ) quando a notificação é enviada.

  • Se START_TIME não for especificado, o intervalo começa 24 horas antes do END_TIME.

  • Se END_TIME não for especificado, o padrão é CURRENT_TIMESTAMP.

O intervalo de tempo máximo é de 14 dias.

INTEGRATION_NAME => 'string'

O nome totalmente qualificado da integração que está ligada à notificação. Se você omitir este argumento, a função retorna todas as notificações.

Padrão: uma cadeia de caracteres vazia

RESULT_LIMIT => integer

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

Intervalo: 1 a 10000

Padrão: 100

Saída

A função retorna as seguintes colunas:

Nome da coluna

Tipo de dados

Descrição

CREATED

TIMESTAMP_LTZ

Carimbo de data/hora quando a notificação foi criada.

PROCESSED

TIMESTAMP_LTZ

Carimbo de data/hora da última tentativa de enviar a notificação.

MESSAGE_SOURCE

VARCHAR

Tipo de objeto ou recurso que gerou a notificação. Os valores válidos incluem:

INTEGRATION_NAME

VARCHAR

Nome da integração utilizada para esta notificação.

STATUS

VARCHAR

Status da notificação. Os valores válidos são:

  • QUEUED: A solicitação para enviar a notificação está sendo processada.

  • SUCCESS: A notificação foi enviada com sucesso.

  • RETRIABLE_FAILURE: A tentativa de envio da notificação falhou e o sistema tentará enviar a notificação novamente.

  • FAILURE: Várias tentativas de envio da notificação falharam e não haverá mais tentativas de envio da notificação.

ERROR_MESSAGE

VARCHAR

Se a notificação falhou, fornece detalhes sobre o motivo da falha da notificação.

Nota

Para notificações de webhook, esta coluna contém o corpo da resposta HTTP, que pode conter dados confidenciais. Antes de usar esses dados, certifique-se de higienizá-los.

ID

VARCHAR

ID exclusivo de uma solicitação para enviar uma notificação.

Se o Snowflake não enviar uma notificação e tentar enviá-la novamente, a função retornará uma linha para cada tentativa. Cada linha para uma tentativa tem o mesmo valor na coluna ID, mas um valor diferente na coluna ATTEMPT.

ATTEMPT

INTEGER

Número da tentativa feita para enviar a notificação.

MESSAGE_SOURCE_INFO

OBJECT

Objeto contendo informações sobre a origem da notificação. Os campos neste objeto dependem do tipo da fonte.

  • Para notificações de orçamentos, o objeto contém os seguintes campos:

    • budget_id: Identificador do orçamento.

    • budget_name: O nome do orçamento.

  • Para notificações de erro para tarefas, o objeto contém os seguintes campos:

    • name: o nome da tarefa

    • graph_run_group_id: identificador para a execução do gráfico.

    • attempt_number: número inteiro que representa o número da tentativa para executar esta tarefa.

  • Para notificações de erro para Snowpipe, o objeto contém o campo pipe_name, que especifica o nome do canal.

  • Para notificações enviadas chamando o procedimento armazenado SYSTEM$SEND_SNOWFLAKE_NOTIFICATION ou SYSTEM$SEND_EMAIL, o objeto contém o campo query_id, que especifica o ID da instrução que chamou o procedimento armazenado.

Notas de uso

  • Retorna resultados somente para a função ACCOUNTADMIN, o proprietário da integração (ou seja, a função com o privilégio OWNERSHIP para a integração) ou uma função com o privilégio global USAGE.

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

Exemplos

As seções a seguir contêm exemplos de chamada de função e exemplos de saída de função:

Exemplos de chamada de função

Os exemplos a seguir demonstram como chamar esta função:

Recuperação das notificações mais recentes

Recupere as notificações mais recentes que foram criadas nas últimas 24 horas.

SELECT * FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
Copy

Recuperação das notificações por hora e nome de integração

Recupere as notificações mais recentes que foram criadas na última hora e enviadas usando a integração chamada my_integration.

SELECT * FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY(
  START_TIME=>DATEADD('hour',-1,CURRENT_TIMESTAMP()),
  END_TIME=>CURRENT_TIMESTAMP(),
  RESULT_LIMIT=>100,
  INTEGRATION_NAME=>'my_integration'));
Copy

Exemplos de saída de função

Os exemplos a seguir explicam a saída retornada por esta função para solicitações de notificação em diferentes estados:

Exemplo de saída quando duas tentativas falham e uma terceira tentativa está em andamento

Este exemplo seleciona um subconjunto das colunas na saída:

SELECT id, attempt, created, processed, status
  FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
Copy

A saída inclui as linhas que representam as tentativas de enviar uma notificação. Na saída:

  • A coluna ID identifica a notificação que está sendo enviada.

  • As duas primeiras tentativas de enviar a notificação falharam, mas o sistema pode tentar enviar a notificação novamente (conforme indicado pelo valor RETRIABLE_FAILURE na coluna STATUS).

  • Uma terceira tentativa está sendo processada, conforme indicado pelo valor QUEUED na coluna STATUS.

+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
|   ID              |   ATTEMPT   |   CREATED                         |   PROCESSED                       |   STATUS              |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
|   10ae695e-93c3   |   3         |   2023-12-05 15:10:15.194 -0800   |   NULL                            |   QUEUED              |
|   10ae695e-93c3   |   2         |   2023-12-05 15:10:15.194 -0800   |   2023-12-05 15:11:21.443 -0800   |   RETRIABLE_FAILURE   |
|   10ae695e-93c3   |   1         |   2023-12-05 15:10:15.194 -0800   |   2023-12-05 15:10:21.443 -0800   |   RETRIABLE_FAILURE   |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+

Exemplo de saída quando duas tentativas falham e uma terceira tentativa é bem-sucedida

Este exemplo seleciona um subconjunto das colunas na saída:

SELECT id, attempt, created, processed, status
  FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
Copy

A saída inclui as linhas que representam as tentativas de enviar uma notificação. Na saída:

  • A coluna ID identifica a notificação que está sendo enviada.

  • As duas primeiras tentativas de enviar a notificação falharam, mas o sistema pode tentar enviar a notificação novamente (conforme indicado pelo valor RETRIABLE_FAILURE na coluna STATUS).

  • Uma terceira tentativa foi bem-sucedida, conforme indicado pelo valor SUCCESS na coluna STATUS.

+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
|   ID              |   ATTEMPT   |   CREATED                         |   PROCESSED                       |   STATUS              |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
|   10ae695e-93c3   |   3         |   2023-12-05 15:10:15.194 -0800   |   2023-12-05 15:12:21.443 -0800   |   SUCCESS             |
|   10ae695e-93c3   |   2         |   2023-12-05 15:10:15.194 -0800   |   2023-12-05 15:11:21.443 -0800   |   RETRIABLE_FAILURE   |
|   10ae695e-93c3   |   1         |   2023-12-05 15:10:15.194 -0800   |   2023-12-05 15:10:21.443 -0800   |   RETRIABLE_FAILURE   |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+