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>' )
Copy

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} |
+---------------------------------------------------+
Copy

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} |
+---------------------------------------------------+
Copy