- 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_nameTabela 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_tabela_externa>"'.
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:
executionStateEstado 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_ADMINoldestPendingFilePathCaminho 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.oldestFileTimestampO 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.
pendingFileCountNú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 esse valor é
0, nenhuma atualização de metadados está enfileirada para este canal.lastPipeFaultTimestampCarimbo de data/hora em que um erro interno no processo Snowflake foi detectado pela última vez.
notificationChannelNameFila do Amazon SQS ou fila de armazenamento do Microsoft Azure associada ao canal.
numOutstandingMessagesOnChannelNúmero de mensagens na fila que foram enfileiradas mas ainda não recebidas.
lastReceivedMessageTimestampCarimbo de data/hora da última mensagem recebida da fila.
lastForwardedMessageTimestampCarimbo de data/hora da última mensagem de evento aplicável com um caminho/prefixo correspondente que foi encaminhado para o canal.
channelErrorMessageMensagem de erro produzida ao tentar ler mensagens da fila de serviços de mensagens em nuvem associada.
lastErrorRecordTimestampCarimbo de data/hora da mensagem de erro do último canal (ou seja, mensagem de erro reportada no valor
channelErrorMessage).errorMensagem 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.
faultErro interno mais recente do processo do Snowflake (se aplicável). Usado principalmente pelo Snowflake para fins de depuração.
lastPulledFromChannelTimestampCarimbo 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.
lastForwardedFilePathCaminho 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} | +---------------------------------------------------------------+