- Categorias:
Funções do sistema (Informações do sistema)
SYSTEM$PIPE_STATUS¶
Obtém uma representação JSON do status atual de um canal.
Para obter mais informações, consulte Snowpipe.
Sintaxe¶
SYSTEM$PIPE_STATUS( '<pipe_name>' )
Argumentos¶
pipe_name
Canal para o qual você deseja recuperar o status atual.
Notas de uso¶
Retorna resultados somente para o proprietário do canal (ou seja, a função com o privilégio OWNERSHIP no canal) ou uma função com o privilégio MONITOR no canal.
pipe_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_canal>'
.Se o nome do canal 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>,»lastPipeErrorTimestamp»:»<valor>»,»lastPipeFaultTimestamp»:»<valor>»,»lastIngestedTimestamp»:»<valor>»,»lastIngestedFilePath»:»<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:
FAILING_OVER
(o canal está em processo de failover da conta primária para a secundária)
PAUSED
READ_ONLY
(o canal ou a tabela de destino está em um banco de dados secundário somente leitura).
RUNNING
(tudo está normal; o Snowflake pode ou não estar processando ativamente arquivos para este canal)
STOPPED_BY_SNOWFLAKE_ADMIN
(o canal é interrompido pelo suporte Snowflake. O canal não aceitará novos arquivos para ingestão.)
STOPPED_CLONED
(o canal é contido por um banco de dados ou clone de esquema)
STOPPED_FEATURE_DISABLED
STOPPED_STAGE_ALTERED
(o canal está parado porque a localização do estágio subjacente foi alterada).
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
STALLED_STAGE_PERMISSION_ERROR
(um erro de permissão de estágio externo é detectado).oldestPendingFilePath
Caminho do arquivo de dados mais antigo atualmente enfileirado para processamento. Carimbo de data/hora em que o arquivo foi adicionado à fila é retornado na propriedade oldestFileTimestamp existente.
oldestFileTimestamp
O primeiro carimbo de data/hora entre os arquivos de dados atualmente em fila (se aplicável), onde o carimbo de data/hora é definido quando o arquivo é adicionado à fila.
pendingFileCount
Número de arquivos em fila para carregamento pelo canal.
Esta contagem pode aumentar mesmo se um canal for pausado. Dependendo da configuração
AUTO_INGEST
para o canal, o número de arquivos em fila pode aumentar da seguinte forma:
AUTO_INGEST = TRUE
Os arquivos adicionados ao bucket de armazenamento em nuvem ou contêiner acionam novas notificações de eventos de arquivos para o canal.
Observe que se um canal pausado se tornar obsoleto, a contagem
pendingFileCount
ignora qualquer notificação de evento mais antiga do que o período de retenção limitado.AUTO_INGEST = FALSE
Chamadas para os pontos de extremidade
insertFiles
REST fazem com que os arquivos não sejam enfileirados para carregamento pelo canal.lastPipeErrorTimestamp
Carimbo de data/hora em que a compilação da instrução COPY INTO <tabela> na definição do canal para a execução produziu um erro pela última vez.
lastPipeFaultTimestamp
Carimbo de data/hora em que um erro interno no processo Snowflake foi detectado pela última vez.
lastIngestedTimestamp
Carimbo de data/hora em que o arquivo mais recente foi carregado com sucesso por Snowpipe na tabela de destino.
lastIngestedFilePath
Caminho do arquivo carregado no carimbo de data/hora especificado em lastIngestedTimestamp.
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. Observe que esta mensagem pode não se aplicar ao canal específico (por exemplo, se o caminho/prefixo associado à mensagem não corresponder ao caminho/prefixo na definição do canal). Além disso, apenas mensagens acionadas por objetos de dados criados são consumidas por canais com ingestão automática.
lastForwardedMessageTimestamp
Carimbo de data/hora da última mensagem do evento “criar objeto” com um caminho/prefixo correspondente que foi encaminhado para o canal.
channelErrorMessage
Mensagem de erro produzida ao tentar ler mensagens da fila associada do Google Cloud Pub/Sub ou da fila de armazenamento do Microsoft Azure Event Grid.
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 em que Snowpipe efetuou pull pela última vez das notificações de eventos “criar objeto” do canal da fila de Amazon Simple Queue Service (SQS), da fila de Google Pub/Sub ou da fila de armazenamento de Microsoft Azure.
Este valor se aplica somente aos carregamentos do Snowpipe com ingestão automática.
lastForwardedFilePath
Caminho do arquivo de dados identificado na última mensagem de evento “criar objeto” encaminhada para o canal.
Exemplos¶
Recuperar o status de um canal com um nome que não diferencia maiúsculas e minúsculas:
SELECT SYSTEM$PIPE_STATUS('mydb.myschema.mypipe'); +---------------------------------------------------+ | SYSTEM$PIPE_STATUS('MYDB.MYSCHEMA.MYPIPE') | |---------------------------------------------------| | {"executionState":"RUNNING","pendingFileCount":0} | +---------------------------------------------------+
Recuperar o status de um canal com um nome que diferencia maiúsculas e minúsculas:
SELECT SYSTEM$PIPE_STATUS('mydb.myschema."myPipe"'); +---------------------------------------------------+ | SYSTEM$PIPE_STATUS('MYDB.MYSCHEMA."MYPIPE"') | |---------------------------------------------------| | {"executionState":"RUNNING","pendingFileCount":0} | +---------------------------------------------------+