- Kategorien:
NOTIFICATION_HISTORY¶
Mit dieser Tabellenfunktion kann der Verlauf der über Snowflake gesendeten Benachrichtigungen abgefragt werden. Zu diesen Benachrichtigungen gehören:
Die zurückgegebenen Zeilen stehen für:
Anfragen, die gerade bearbeitet werden
Versuche, Benachrichtigungen zu senden, sind fehlgeschlagen.
Benachrichtigungen, die erfolgreich versendet wurden
Die Spalte STATUS zeigt an, was jede Zeile darstellt. Siehe Beispiele für Ausgaben der Funktion.
Syntax¶
NOTIFICATION_HISTORY(
[ START_TIME => <constant_expr> ]
[, END_TIME => <constant_expr> ]
[, INTEGRATION_NAME => '<string>' ]
[, RESULT_LIMIT => <integer> ] )
Argumente¶
Alle Argumente sind optional.
START_TIME=> constant_expr
, .END_TIME=> constant_expr
Zeitbereich (im Format TIMESTAMP_LTZ), in dem die Benachrichtigung versandt wird.
Wenn START_TIME nicht angegeben wird, beginnt der Bereich 24 Stunden vor END_TIME.
Wenn END_TIME nicht angegeben ist, lautet der Standardwert CURRENT_TIMESTAMP.
Der maximale Zeitbereich umfasst 14 Tage.
INTEGRATION_NAME => 'string'
Der vollqualifizierte Name der Integration, die mit der Benachrichtigung verbunden ist. Wenn Sie dieses Argument weglassen, gibt die Funktion alle Benachrichtigungen zurück.
Standard: Eine leere Zeichenfolge.
RESULT_LIMIT => integer
Eine Zahl, die die maximale Anzahl von Zeilen angibt, die von der Funktion zurückgegeben werden.
Bereich:
1
bis10000
Standard:
100
Ausgabe¶
Die Funktion gibt die folgenden Spalten zurück:
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
CREATED |
TIMESTAMP_LTZ |
Zeitstempel, wann die Benachrichtigung erstellt wurde. |
PROCESSED |
TIMESTAMP_LTZ |
Zeitstempel des letzten Versuchs, die Benachrichtigung zu senden. |
MESSAGE_SOURCE |
VARCHAR |
Typ des Objekts oder Features, das die Benachrichtigung generiert hat. Gültige Werte:
|
INTEGRATION_NAME |
VARCHAR |
Name der für diese Benachrichtigung verwendeten Integration. |
STATUS |
VARCHAR |
Status der Benachrichtigung. Gültige Werte:
|
ERROR_MESSAGE |
VARCHAR |
Wenn die Benachrichtigung fehlgeschlagen ist, werden Informationen zu den Gründen für das Fehlschlagen der Benachrichtigung angegeben. Bemerkung Bei Webhook-Benachrichtigungen enthält diese Spalte den Body der HTTP-Antwort, der sensible Daten enthalten kann. Bevor Sie diese Daten verwenden, stellen Sie sicher, dass sie bereinigt sind. |
ID |
VARCHAR |
Eindeutige ID einer Anfrage zum Senden einer Benachrichtigung. Wenn Snowflake eine Benachrichtigung nicht senden kann und erneut versucht, die Benachrichtigung zu senden, gibt die Funktion für jeden Versuch eine Zeile zurück. Jede Zeile für einen Versuch hat den gleichen Wert in der Spalte ID, aber einen anderen Wert in der Spalte ATTEMPT. |
ATTEMPT |
INTEGER |
Anzahl der Versuche, die Benachrichtigung zu senden. |
MESSAGE_SOURCE_INFO |
OBJECT |
Objekt mit Informationen über die Quelle der Benachrichtigung. Die Felder in diesem Objekt hängen vom Typ der Quelle ab:
|
Nutzungshinweise¶
Gibt Ergebnisse nur für die ACCOUNTADMIN-Rolle, für den Eigentümer der Integration (d. h. die Rolle mit der Berechtigung OWNERSHIP für die Integration) oder für eine Rolle mit der Berechtigung USAGE für die Integration zurück.
Beim Aufrufen einer Tabellenfunktion des Information Schema muss die Sitzung über ein aktives INFORMATION_SCHEMA-Schema verfügen oder der Funktionsname muss vollqualifiziert sein. Weitere Details dazu finden Sie unter Snowflake Information Schema.
Beispiele¶
Die folgenden Abschnitte enthalten Beispiele für den Aufruf der Funktion und Beispiele für die Ausgabe der Funktion:
Beispiele für den Aufruf der Funktion¶
Die folgenden Beispiele zeigen, wie Sie diese Funktion aufrufen können:
Abrufen der letzten Benachrichtigungen¶
Abrufen der neuesten Benachrichtigungen, die in den letzten 24 Stunden erstellt wurden.
SELECT * FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
Abrufen von Benachrichtigungen nach Zeit und Integrationsnamen¶
Abrufen der neuesten Benachrichtigungen, die in der letzten Stunde erstellt und über die Integration mit dem Namen my_integration
gesendet wurden.
SELECT * FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY(
START_TIME=>DATEADD('hour',-1,CURRENT_TIMESTAMP()),
END_TIME=>CURRENT_TIMESTAMP(),
RESULT_LIMIT=>100,
INTEGRATION_NAME=>'my_integration'));
Beispiele für Ausgaben der Funktion¶
Die folgenden Beispiele erläutern die Ausgabe, die von dieser Funktion für Benachrichtigungsanfragen in verschiedenen Zuständen zurückgegeben werden:
Beispiel für die Ausgabe, wenn zwei Versuche fehlschlagen und ein dritter Versuch läuft
Beispiel für die Ausgabe, wenn zwei Versuche fehlschlagen und ein dritter Versuch erfolgreich ist
Beispiel für die Ausgabe, wenn zwei Versuche fehlschlagen und ein dritter Versuch läuft¶
In diesem Beispiel wird eine Teilmenge der Spalten in der Ausgabe ausgewählt:
SELECT id, attempt, created, processed, status
FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
Die Ausgabe enthält die Zeilen, die die Versuche darstellen, eine Benachrichtigung zu senden. In der Ausgabe:
Die Spalte ID identifiziert die Benachrichtigung, die gesendet wird.
Die ersten beiden Versuche, die Benachrichtigung zu senden, sind fehlgeschlagen, aber das System kann versuchen, die Benachrichtigung erneut zu senden (wie durch den Wert
RETRIABLE_FAILURE
in der Spalte STATUS angezeigt).Es wird ein dritter Versuch unternommen, was durch den Wert
QUEUED
in der Spalte STATUS angezeigt wird.
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
| ID | ATTEMPT | CREATED | PROCESSED | STATUS |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
| 10ae695e-93c3 | 3 | 2023-12-05 15:10:15.194 -0800 | NULL | QUEUED |
| 10ae695e-93c3 | 2 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:11:21.443 -0800 | RETRIABLE_FAILURE |
| 10ae695e-93c3 | 1 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:10:21.443 -0800 | RETRIABLE_FAILURE |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
Beispiel für die Ausgabe, wenn zwei Versuche fehlschlagen und ein dritter Versuch erfolgreich ist¶
In diesem Beispiel wird eine Teilmenge der Spalten in der Ausgabe ausgewählt:
SELECT id, attempt, created, processed, status
FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
Die Ausgabe enthält die Zeilen, die die Versuche darstellen, eine Benachrichtigung zu senden. In der Ausgabe:
Die Spalte ID identifiziert die Benachrichtigung, die gesendet wird.
Die ersten beiden Versuche, die Benachrichtigung zu senden, sind fehlgeschlagen, aber das System kann versuchen, die Benachrichtigung erneut zu senden (wie durch den Wert
RETRIABLE_FAILURE
in der Spalte STATUS angezeigt).Ein dritter Versuch war erfolgreich, was durch den Wert
SUCCESS
in der Spalte STATUS angezeigt wird.
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
| ID | ATTEMPT | CREATED | PROCESSED | STATUS |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
| 10ae695e-93c3 | 3 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:12:21.443 -0800 | SUCCESS |
| 10ae695e-93c3 | 2 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:11:21.443 -0800 | RETRIABLE_FAILURE |
| 10ae695e-93c3 | 1 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:10:21.443 -0800 | RETRIABLE_FAILURE |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+