Verwalten von Snowflake-Benachrichtigungen mit Python¶
Sie können Python verwenden, um Snowflake-Benachrichtigungen zu verwalten, die Sie so einstellen können, dass sie unter bestimmten Bedingungen regelmäßig eine Aktion auf der Grundlage von Daten in Snowflake durchführen. Weitere Informationen zu Benachrichtigungen finden Sie unter Einrichten von Alerts auf Grundlage von Daten in Snowflake.
Bemerkung
ALTER ALERT wird derzeit nicht unterstützt.
Die Snowflake Python APIs stellt Benachrichtigungen mit zwei verschiedenen Typen dar:
Alert
: Zeigt die Eigenschaften einer Benachrichtigung an, z. B. Name, Bedingung, Aktion und Zeitplan.AlertResource
: Stellt Methoden zur Verfügung, mit denen Sie ein entsprechendesAlert
-Objekt abrufen, die Benachrichtigung ausführen und die Benachrichtigung löschen können.
Voraussetzungen¶
Die Beispiele in diesem Thema gehen davon aus, dass Sie Code hinzugefügt haben, um eine Verbindung zu Snowflake herzustellen und ein Root
-Objekt zu erstellen, von dem aus Sie die Snowflake Python APIs verwenden können.
Beispielsweise verwendet der folgende Code Verbindungsparameter, die in einer Konfigurationsdatei definiert sind, um eine Verbindung zu Snowflake zu erstellen:
from snowflake.core import Root
from snowflake.snowpark import Session
session = Session.builder.config("connection_name", "myconnection").create()
root = Root(session)
Unter Verwendung des resultierenden Session
-Objekts erstellt der Code ein Root
-Objekt, das die Typen und Methoden der API verwendet. Weitere Informationen dazu finden Sie unter Verbinden mit Snowflake mit dem Snowflake Python APIs.
Erstellen eines Alerts¶
Um eine Benachrichtigung zu erstellen, erstellen Sie zunächst ein Alert
-Objekt und dann ein AlertCollection
-Objekt aus dem API Root
-Objekt. Fügen Sie mit AlertCollection.create
die neue Benachrichtigung zu Snowflake hinzu.
Der Code im folgenden Beispiel erstellt ein Alert
-Objekt, das eine Benachrichtigung namens my_alert
in Ihrem Konto darstellt:
from snowflake.core.alert import Alert, MinutesSchedule
root.alerts.create(Alert(
name="my_alert",
condition="SELECT 1",
action="SELECT 2",
schedule=MinutesSchedule(minutes=1),
comment="test comment"
))
Der Code erstellt eine AlertCollection
-Variable alerts
und verwendet AlertCollection.create
, um eine neue Benachrichtigung in Snowflake zu erstellen.
Aufrufen von Benachrichtigungsdetails¶
Sie können Informationen über eine Benachrichtigung erhalten, indem Sie die AlertResource.fetch
-Methode aufrufen, die ein Alert
-Objekt zurückgibt.
Der Code im folgenden Beispiel ruft Informationen über eine Benachrichtigung namens my_alert
ab:
my_alert = root.alerts["my_alert"].fetch()
print(my_alert.to_dict())
Auflisten von Benachrichtigungen¶
Sie können Benachrichtigungen mit der AlertCollection.iter
-Methode auflisten, die einen PagedIter
-Iterator von Alert
-Objekten zurückgibt.
Der Code im folgenden Beispiel listet die Benachrichtigungen auf, deren Name mit my
beginnt, und gibt dann den Namen jeder einzelnen aus. In diesem Beispiel wird auch der optionale show_limit=5
-Parameter eingestellt, um die Anzahl der Ergebnisse auf 5
zu beschränken:
alerts_iter = root.alerts.iter(like="my%", show_limit=5)
for alert_obj in alerts_iter:
print(alert_obj.name)
Ausführen von Operationen zur Benachrichtigung¶
Sie können gängige Operationen für Benachrichtigungen, wie z. B. das Ausführen und Löschen von Benachrichtigungen, mit einem AlertResource
-Objekt durchführen.
Um einige Operationen zu demonstrieren, die Sie mit einer Ressource für Benachrichtigungen durchführen können, führt der Code im folgenden Beispiel Folgendes aus:
Ruft das
my_alert
-Benachrichtigungs-Ressourcenobjekt ab.Führt die Benachrichtigung aus.
Löscht die Benachrichtigung.
my_alert_res = root.alerts["my_alert"]
my_alert_res.execute()
my_alert_res.drop()