- Kategorien:
Systemfunktionen (Systeminformationen)
SYSTEM$PIPE_STATUS¶
Ruft eine JSON-Darstellung des aktuellen Status einer Pipe ab.
Weitere Informationen dazu finden Sie unter Kontinuierliches Laden mit Snowpipe.
Syntax¶
SYSTEM$PIPE_STATUS( '<pipe_name>' )
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>“,“oldestFileTimestamp“:<Wert>,“pendingFileCount“:<Wert>,“notificationChannelName“:“<Wert>“,“numOutstandingMessagesOnChannel“:<Wert>,“lastReceivedMessageTimestamp“:“<Wert>“,“lastForwardedMessageTimestamp“:“<Wert>“,“error“:<Wert>,“fault“:<Wert>}
Wobei:
executionState
Aktueller Ausführungsstatus der Pipe; kann einer der folgenden sein:
RUNNING
(d. h. alles ist normal; Snowflake verarbeitet gerade aktiv Dateien für diese Pipe oder auch nicht).
STOPPED_FEATURE_DISABLED
STOPPED_STAGE_DROPPED
STOPPED_FILE_FORMAT_DROPPED
STOPPED_MISSING_PIPE
STOPPED_MISSING_TABLE
STALLED_COMPILATION_ERROR
STALLED_INITIALIZATION_ERROR
STALLED_EXECUTION_ERROR
STALLED_INTERNAL_ERROR
PAUSED
PAUSED_BY_SNOWFLAKE_ADMIN
PAUSED_BY_ACCOUNT_ADMIN
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, die von der Pipe derzeit verarbeitet werden. Falls die Pipe angehalten wurde, verringert sich dieser Wert, sobald Dateien verarbeitet werden, die in die Warteschlange gestellt wurden, bevor die Pipe angehalten wurde. Wenn dieser Wert
0
lautet, befinden sich entweder keine Dateien in der Warteschlange für diese Pipe oder wurde die Pipe angehalten.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 Nachricht, die aus der Warteschlange empfangen wurde. Beachten Sie, dass diese Meldung möglicherweise nicht für die spezifische Pipe gilt, z. B. wenn der mit der Meldung verknüpfte Pfad bzw. das verknüpfte Präfix nicht mit Pfad/Präfix in der Pipe-Definition übereinstimmen. Darüber hinaus werden von Pipes zur automatischen Erfassung nur solche Nachrichten 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.
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.
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} | +---------------------------------------------------+
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} | +---------------------------------------------------+