- Categorias:
Funções do sistema (Informações do sistema)
SYSTEM$EXTERNAL_TABLE_PIPE_STATUS¶
Obtém uma representação JSON do status atual de atualização para o objeto interno (oculto) de canal associado a uma tabela externa.
A atualização automática dos metadados de uma tabela externa depende internamente do Snowpipe, que recebe notificações de eventos quando ocorrem mudanças no armazenamento monitorado em nuvem. Para obter mais informações, consulte Introdução às tabelas externas.
Sintaxe¶
SYSTEM$EXTERNAL_TABLE_PIPE_STATUS( '<external_table_name>' )
Argumentos¶
external_table_name
Tabela externa para a qual você deseja recuperar o status atual de atualização automática.
Notas de uso¶
Esta função só retorna resultados para o proprietário da tabela externa (ou seja, a função que tem o privilégio OWNERSHIP na tabela externa).
external_table_name
é uma cadeia de caracteres, portanto, deve ser delimitada por aspas simples:Observe que o nome completo deve ser incluído entre aspas simples, incluindo o banco de dados e o esquema (se o nome for totalmente qualificado), ou seja,
'<bd>.<esquema>.<nome_tabela_externa>'
.Se o nome da tabela externa diferenciar letras maiúsculas e minúsculas ou incluir quaisquer caracteres ou espaços especiais, as aspas duplas são necessárias para processar o caso/caracteres. As aspas duplas devem ser incluídas dentro das aspas simples, ou seja,
'"<nome_canal>"'
.
Saída¶
A função retorna um objeto JSON contendo os seguintes pares nome/valor (se aplicável ao status atual do canal):
{«executionState»:»<valor>»,»oldestPendingFilePath»:»<valor>»,»oldestFileTimestamp»:<valor>,»pendingFileCount»:<valor>,»lastPipeFaultTimestamp»:»<valor>»,»notificationChannelName»:»<valor>»,»numOutstandingMessagesOnChannel»:<valor>,»lastReceivedMessageTimestamp»:»<valor>»,»lastForwardedMessageTimestamp»:»<valor>»,»error»:<valor>,»fault»:<valor>,»lastPulledFromChannelTimestamp»:»<valor>»,»lastForwardedFilePath»:»<valor>»}
Onde:
executionState
Estado atual de execução do canal. O valor pode ser qualquer um dos seguintes:
RUNNING
(ou seja, tudo está normal; o Snowflake pode ou não estar processando ativamente mensagens de eventos para este canal)
STOPPED_CLONED
(ou seja, o canal é contido por um banco de dados ou clone de esquema)
STOPPED_FEATURE_DISABLED
STOPPED_STAGE_DROPPED
STOPPED_FILE_FORMAT_DROPPED
STOPPED_NOTIFICATION_INTEGRATION_DROPPED
STOPPED_MISSING_PIPE
STOPPED_MISSING_TABLE
(a tabela de destino definida na definição do canal foi descartada)
STALLED_COMPILATION_ERROR
STALLED_INITIALIZATION_ERROR
STALLED_EXECUTION_ERROR
STALLED_INTERNAL_ERROR
PAUSED
PAUSED_BY_SNOWFLAKE_ADMIN
PAUSED_BY_ACCOUNT_ADMIN
oldestPendingFilePath
Caminho para o arquivo de dados mais antigo atualmente em fila para uma operação de atualização de metadados. O carimbo de data/hora em que o arquivo foi adicionado à fila é retornado na propriedade
oldestFileTimestamp
.oldestFileTimestamp
O primeiro carimbo de data/hora entre os arquivos de dados atualmente em fila para uma operação de atualização de metadados (se aplicável), onde o carimbo de data/hora é definido quando o arquivo é adicionado à fila.
pendingFileCount
Número de arquivos que estão sendo processados atualmente pelo canal. Este valor diminui à medida que os metadados da tabela externa são atualizados. Quando este valor é
0
ou não há atualizações de metadados em fila para este canal.lastPipeFaultTimestamp
Carimbo de data/hora em que um erro interno no processo Snowflake foi detectado pela última vez.
notificationChannelName
Fila do Amazon SQS ou fila de armazenamento do Microsoft Azure associada ao canal.
numOutstandingMessagesOnChannel
Número de mensagens na fila que foram enfileiradas mas ainda não recebidas.
lastReceivedMessageTimestamp
Carimbo de data/hora da última mensagem recebida da fila.
lastForwardedMessageTimestamp
Carimbo de data/hora da última mensagem de evento aplicável com um caminho/prefixo correspondente que foi encaminhado para o canal.
channelErrorMessage
Mensagem de erro produzida ao tentar ler mensagens da fila de serviços de mensagens em nuvem associada.
lastErrorRecordTimestamp
Carimbo de data/hora da mensagem de erro do último canal (ou seja, mensagem de erro reportada no valor
channelErrorMessage
).error
Mensagem de erro produzida quando o canal foi compilado pela última vez para execução (se aplicável); muitas vezes causada por problemas de acesso aos objetos necessários (isto é, tabela, estágio, formato de arquivo) devido a problemas de permissão ou objetos descartados.
fault
Erro interno mais recente do processo do Snowflake (se aplicável). Usado principalmente pelo Snowflake para fins de depuração.
lastPulledFromChannelTimestamp
Carimbo de data/hora de quando o Snowpipe puxou pela última vez as notificações de eventos para o canal da fila de serviço de mensagens em nuvem.
lastForwardedFilePath
Caminho do arquivo de dados identificado na última mensagem de evento aplicável encaminhada para o canal.
Exemplos¶
Recuperar o status de atualização automática para uma tabela externa com um nome que não diferencia maiúsculas de minúsculas:
SELECT SYSTEM$EXTERNAL_TABLE_PIPE_STATUS('mydb.myschema.exttable'); +---------------------------------------------------------------+ | SYSTEM$EXTERNAL_TABLE_PIPE_STATUS('MYDB.MYSCHEMA.EXTTABLE') | |---------------------------------------------------------------| | {"executionState":"RUNNING","pendingFileCount":0} | +---------------------------------------------------------------+
Recuperar o status de um canal com um nome que diferencia maiúsculas e minúsculas:
SELECT SYSTEM$EXTERNAL_TABLE_PIPE_STATUS('mydb.myschema."extTable"'); +---------------------------------------------------------------+ | SYSTEM$EXTERNAL_TABLE_PIPE_STATUS('MYDB.MYSCHEMA."extTable"') | |---------------------------------------------------------------| | {"executionState":"RUNNING","pendingFileCount":0} | +---------------------------------------------------------------+