Kategorien:

Systemfunktionen (Systeminformationen)

SYSTEM$PIPE_STATUS

Ruft eine JSON-Darstellung des aktuellen Status einer Pipe ab.

Weitere Informationen dazu finden Sie unter Snowpipe.

Syntax

SYSTEM$PIPE_STATUS( '<pipe_name>' )
Copy

Argumente

pipe_name

Pipe, für die Sie den aktuellen Status abrufen möchten.

Nutzungshinweise

  • Gibt nur Ergebnisse für den Pipe-Eigentümer (d. h. die Rolle mit der Berechtigung OWNERSHIP für die Pipe) oder eine Rolle mit der Berechtigung MONITOR für die Pipe zurück.

  • pipe_name ist eine Zeichenfolge und muss daher in einfache Anführungszeichen gesetzt werden:

    • Beachten Sie, dass der gesamte Name in einfache Anführungszeichen eingeschlossen werden muss, einschließlich Datenbank und Schema (wenn der Name vollqualifiziert ist), d. h. '<Datenbank>.<Schema>.<Pipe-Name>'.

    • Wenn der Pipename zwischen Groß- und Kleinschreibung unterscheidet bzw. Sonderzeichen oder Leerzeichen enthält, sind doppelte Anführungszeichen erforderlich, damit sich Groß- und Kleinschreibung/Zeichen korrekt verarbeiten lassen. Die doppelten Anführungszeichen müssen in einfache Anführungszeichen eingeschlossen werden, d. h. '"<Pipe-Name>"'.

Ausgabe

Die Funktion gibt ein JSON-Objekt zurück, das die folgenden Name/Wert-Paare enthält (falls auf den aktuellen Pipe-Status zutreffend):

{„executionState“:“<Wert>“,“oldestPendingFilePath“:“<Wert>“,“oldestFileTimestamp“:<Wert>,“pendingFileCount“:<Wert>,“lastPipeErrorTimestamp“:“<Wert>“,“lastPipeFaultTimestamp“:“<Wert>“,“lastIngestedTimestamp“:“<Wert>“,“lastIngestedFilePath“:“<Wert>“,“notificationChannelName“:“<Wert>“,“numOutstandingMessagesOnChannel“:<Wert>,“lastReceivedMessageTimestamp“:“<Wert>“,“lastForwardedMessageTimestamp“:“<Wert>“,“error“:<Wert>,“fault“:<Wert>,“lastPulledFromChannelTimestamp“:“<Wert>“,“lastForwardedFilePath“:“<Wert>“}

Wobei:

executionState

Aktueller Ausführungsstatus der Pipe. Folgende Werte sind möglich:

  • FAILING_OVER (Pipe wird für Failover vom primären zum sekundären Konto umgeschaltet).

  • PAUSED

  • READ_ONLY (Pipe oder Zieltabelle befindet sich in einer schreibgeschützten Sekundärdatenbank).

  • RUNNING (d. h. alles ist normal; Snowflake verarbeitet gerade aktiv Dateien für diese Pipe oder auch nicht).

  • STOPPED_BY_SNOWFLAKE_ADMIN (Pipe wurde vom Snowflake-Support gestoppt. Pipe akzeptiert keine neuen Dateien zur Erfassung.)

  • STOPPED_CLONED (Pipe ist in einem Datenbank- oder Schema-Klon enthalten).

  • STOPPED_FEATURE_DISABLED

  • STOPPED_STAGE_ALTERED (Pipe wird angehalten, weil der zugrunde liegende Speicherort des Stagingbereichs geändert wurde).

  • STOPPED_STAGE_DROPPED

  • STOPPED_FILE_FORMAT_DROPPED

  • STOPPED_NOTIFICATION_INTEGRATION_DROPPED

  • STOPPED_MISSING_PIPE

  • STOPPED_MISSING_TABLE (die in der Pipedefinition definierte Zieltabelle wurde gelöscht).

  • STALLED_COMPILATION_ERROR

  • STALLED_INITIALIZATION_ERROR

  • STALLED_EXECUTION_ERROR

  • STALLED_INTERNAL_ERROR

  • STALLED_STAGE_PERMISSION_ERROR (ein Berechtigungsfehler für einen externen Stagingbereich wurde festgestellt).

oldestPendingFilePath

Pfad zur ältesten Datendatei, die derzeit in der Warteschlange zur Verarbeitung bereitsteht. Der Zeitstempel, zu dem die Datei der Warteschlange hinzugefügt wurde, wird über die vorhandene Eigenschaft oldestFileTimestamp zurückgegeben.

oldestFileTimestamp

Frühester Zeitstempel unter den derzeit in der Warteschlange befindlichen Datendateien (so zutreffend), wobei Zeitstempel beim Hinzufügen einer Datei zur Warteschlange festgelegt werden.

pendingFileCount

Anzahl der Dateien in der Warteschlange, die auf das Laden durch die Pipe warten.

Diese Zahl kann sich auch dann erhöhen, wenn eine Pipe angehalten wird. Je nach AUTO_INGEST-Einstellung für die Pipe kann sich die Anzahl der Dateien in der Warteschlange wie folgt erhöhen:

AUTO_INGEST = TRUE

Dateien, die dem Bucket oder Container des Cloudspeichers hinzugefügt werden, lösen Benachrichtigungen zu neuen Dateiereignissen in der Pipe aus.

Wenn eine Pipe veraltet, während sie angehalten ist, müssen Sie beachten, dass die pendingFileCount-Zählung alle Ereignisbenachrichtigungen ignoriert, die älter als die begrenzte Aufbewahrungsfrist sind.

AUTO_INGEST = FALSE

Das Aufrufen des insertFiles-REST-Endpunkts löst bei der Pipe das Einstellen der Dateien in die Warteschlange zum Laden aus.

lastPipeErrorTimestamp

Zeitstempel, zu dem die Kompilierung der COPY INTO <Tabelle>-Anweisung in der Pipedefinition zuletzt einen Fehler ergab.

lastPipeFaultTimestamp

Zeitstempel, wann zuletzt ein interner Snowflake-Prozessfehler festgestellt wurde.

lastIngestedTimestamp

Zeitstempel der jüngsten Datei, die von Snowpipe erfolgreich in die Zieltabelle geladen wurde.

lastIngestedFilePath

Pfad zu der Datei, die zu dem in lastIngestedTimestamp angegebenen Zeitstempel geladen wurde.

notificationChannelName

Azure-SQS-Warteschlange oder Microsoft Azure-Speicherwarteschlange, die der Pipe zugeordnet ist.

numOutstandingMessagesOnChannel

Anzahl der Nachrichten in der Warteschlange, die in die Warteschlange gestellt, aber noch nicht empfangen wurden.

lastReceivedMessageTimestamp

Zeitstempel der letzten Meldung, die aus der Warteschlange empfangen wurde. Beachten Sie, dass diese Nachricht möglicherweise nicht für die bestimmte Pipe gilt (z. B. wenn der mit der Meldung verknüpfte Pfad bzw. das verknüpfte Präfix nicht mit dem Pfad/Präfix in der Pipedefinition übereinstimmen). Darüber hinaus werden von Pipes zur automatischen Erfassung nur solche Meldungen verarbeitet, die von erstellten Datenobjekten ausgelöste wurden.

lastForwardedMessageTimestamp

Zeitstempel der letzten Ereignismeldung vom Typ „Objekt erstellen“ mit einem übereinstimmenden Pfad/Präfix, der bzw. das an die Pipe weitergeleitet wurde.

channelErrorMessage

Fehlermeldung beim Versuch, Nachrichten aus der zugehörigen Google Cloud Pub/Sub-Warteschlange bzw. Microsoft Azure Event Grid-Speicherwarteschlange zu lesen.

lastErrorRecordTimestamp

Zeitstempel der letzten Kanalfehlermeldung (d. h. der im channelErrorMessage-Wert gemeldeten Fehlermeldung).

error

Fehlermeldung, die erzeugt wurde, als die Pipe für die Ausführung zuletzt kompiliert wurde (falls zutreffend). Ursache sind oft Schwierigkeiten beim Zugriff auf die erforderlichen Objekte (z. B. Tabelle, Stagingbereich, Dateiformat), ausgelöst durch Berechtigungsprobleme oder gelöschte Objekte.

fault

Letzter interner Snowflake-Verarbeitungsfehler (falls zutreffend). Wird von Snowflake hauptsächlich zum Debuggen verwendet.

lastPulledFromChannelTimestamp

Zeitstempel, zu dem Snowpipe zuletzt „create object“-Ereignisbenachrichtigungen für die Pipe aus der Amazon Simple Queue Service (SQS)-Warteschlange, der Google Pub/Sub-Warteschlange oder der Microsoft Azure-Speicherwarteschlange abgerufen hat.

Dieser Wert gilt nur für Snowpipe-Ladevorgänge mit automatischer Erfassung.

lastForwardedFilePath

Pfad der Datendatei, die in der letzten an die Pipe weitergeleiteten „Objekt erstellen“-Ereignismeldung identifiziert wurde.

Beispiele

Abrufen des Status für eine Pipe mit einem Namen, bei dem nicht zwischen Groß-/Kleinschreibung unterschieden wird:

SELECT SYSTEM$PIPE_STATUS('mydb.myschema.mypipe');

+---------------------------------------------------+
| SYSTEM$PIPE_STATUS('MYDB.MYSCHEMA.MYPIPE')        |
|---------------------------------------------------|
| {"executionState":"RUNNING","pendingFileCount":0} |
+---------------------------------------------------+
Copy

Abrufen des Status für eine Pipe mit einem Namen, bei dem zwischen Groß-/Kleinschreibung unterschieden wird:

SELECT SYSTEM$PIPE_STATUS('mydb.myschema."myPipe"');

+---------------------------------------------------+
| SYSTEM$PIPE_STATUS('MYDB.MYSCHEMA."MYPIPE"')      |
|---------------------------------------------------|
| {"executionState":"RUNNING","pendingFileCount":0} |
+---------------------------------------------------+
Copy