Categorias:

Information Schema , Funções de tabela

APPLICATION_CALLBACK_HISTORY

Retorna informações sobre o histórico de invocações de :doc:` retorno de chamada </developer-guide/native-apps/callbacks>` para o Snowflake Native Apps em sua conta Snowflake. Cada linha representa uma invocação de retorno de chamada, incluindo o tipo, o modo de execução, o estado e todas as informações de erro de retorno de chamada.

Sintaxe

APPLICATION_CALLBACK_HISTORY(
  [ APPLICATION_NAME => '<application_name>' ]
  [ , CALLBACK_TYPE => '<callback_manifest_name>' ]
  [ , LIMIT => <number> ]
)

Argumentos opcionais

APPLICATION_NAME => 'application_name'

O nome do app para o qual recuperar o histórico de retornos de chamada. Se não for especificado, retornará o histórico de todos os apps na conta.

CALLBACK_TYPE => 'callback_manifest_name'

O tipo de retorno de chamada, conforme definido no arquivo de manifesto. Se não for especificado, mostrará o histórico de todos os tipos de retornos de chamada no app especificado.

LIMIT => number

O número máximo de linhas a serem retornadas. O padrão é 100. O máximo é 10.000.

Notas de uso

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

  • As colunas QUERY_TEXT e ERROR_MESSAGE são ocultas, a menos que o autor da chamada seja o próprio app.

  • O uso desta função requer uma das seguintes condições:

    • OWNERSHIP no app.

    • Privilégio MONITOR no app.

    • Execução como o próprio app.

Saída

A função retorna as seguintes colunas:

Nome da coluna

Tipo de dados

Descrição

TYPE

VARCHAR

O tipo de retorno de chamada, conforme definido no arquivo de manifesto.

EXECUTION_MODE

VARCHAR

O modo de execução do retorno de chamada. Os valores possíveis são: SYNC, ASYNC.

APPLICATION_NAME

VARCHAR

O nome do app que define o retorno de chamada.

STATE

VARCHAR

O estado da execução do retorno de chamada. Consulte Estados do retorno de chamada.

STARTED_ON

TIMESTAMP_LTZ

O carimbo de data/hora em que o retorno de chamada foi invocado.

COMPLETED_ON

TIMESTAMP_LTZ

O carimbo de data/hora da conclusão. NULL se o retorno de chamada ainda não foi concluído.

TRIGGERING_QUERY_ID

VARCHAR

O ID da consulta da instrução SQL que acionou o retorno de chamada. NULL se o retorno de chamada não foi acionado por uma consulta SQL (por exemplo, quando acionado após a conclusão de uma atualização).

QUERY_ID

VARCHAR

O ID da consulta da execução do procedimento de retorno de chamada. NULL se o retorno de chamada ainda não foi concluído.

QUERY_TEXT

VARCHAR

O texto SQL da chamada de procedimento. NULL se o retorno de chamada ainda não foi concluído. Esta coluna é oculta, a menos que o autor da chamada seja o próprio app.

ERROR_CODE

VARCHAR

O código de erro. NULL, a menos que STATE seja FAILED ou ABORTED.

ERROR_MESSAGE

VARCHAR

A mensagem de erro. NULL, a menos que STATE seja FAILED ou ABORTED. Esta coluna é oculta, a menos que o autor da chamada seja o próprio app.

Estados do retorno de chamada

A tabela a seguir descreve os valores possíveis para a coluna STATE:

Estado

Aplica-se a

Descrição

QUEUED

Somente assíncrono

O retorno de chamada está aguardando para ser agendado.

SCHEDULED

Somente assíncrono

O retorno de chamada foi agendado e está aguardando para ser executado.

EXECUTING

Assíncrono/síncrono

O procedimento de retorno de chamada está em execução.

COMPLETED

Assíncrono/síncrono

O procedimento de retorno de chamada foi concluído com sucesso.

FAILED

Assíncrono/síncrono

O procedimento de retorno de chamada falhou na validação (por exemplo, assinatura errada) ou na execução.

ABORTED

Somente assíncrono

Ocorreu um erro de agendamento interno. Este estado requer intervenção do suporte.

Exemplos

Recuperar o histórico de retornos de chamada para um aplicativo específico:

SELECT *
FROM TABLE(
    INFORMATION_SCHEMA.APPLICATION_CALLBACK_HISTORY(
        APPLICATION_NAME => 'my_app'));

Recuperar o histórico de retornos de chamada para um tipo de retorno de chamada específico com um limite personalizado:

SELECT *
FROM TABLE(
    INFORMATION_SCHEMA.APPLICATION_CALLBACK_HISTORY(
        APPLICATION_NAME => 'my_app',
        CALLBACK_TYPE => 'after_configuration_change',
        LIMIT => 100));