Aktivieren von Protokollierung und Ereignisfreigabe für eine Anwendung¶
Unter diesem Thema wird beschrieben, wie Sie die Protokollierung und die Ereignisfreigabe zur Fehlersuche in einer Anwendung aktivieren. Mithilfe von Protokollierung und Ablaufverfolgungsereignissen stehen Ihnen bei Auftreten eines Fehlers Leistungs- und Diagnoseinformationen zur Verfügung. Diese werden für den Anbieter der Anwendung freigegeben.
Workflow für das Aktivieren der Protokollierung und der Ereignisfreigabe als Verbraucher¶
Als Verbraucher können Sie Protokollierung und Ereignisfreigabe für eine Anwendung aktivieren, indem Sie Folgendes tun:
Hinweise zum Aktivieren von Protokollierung und Ereignisfreigabe¶
Bevor Sie die Protokollierung und Ereignisfreigabe für eine Anwendung aktivieren, müssen Sie Folgendes beachten:
Für dieses Feature müssen Sie in Ihrem Konto eine Ereignistabelle einrichten.
Nach dem Aktivieren der Ereignisfreigabe werden in der Ereignistabelle des entsprechenden Anbieterkontos automatisch maskierte und unkenntlich gemachte Kopien der Protokolleinträge und Ablaufverfolgungsereignisse erfasst.
Snowflake berechnet Ihnen keine Gebühren für das Aktivieren der Ereignisfreigabe. Sie tragen jedoch die Kosten für die Erfassung und Speicherung der Protokolleinträge und Ereignisse in der Ereignistabelle.
Nachdem Sie Ereignisse für einen Anbieter freigegeben haben, können Sie den Zugriff auf die freigegebenen Protokolleinträge und Ablaufverfolgungsereignisse nicht mehr widerrufen.
Die Freigabe historischer Ereignisse ist mit der Ereignisfreigabe nicht möglich.
Sie können keine Teilmengen von Ereignissen freigeben oder Filter anwenden.
Snowflake sendet die freigegebenen Ereignisse an ein festgelegtes Anbieterkonto, das sich in derselben Region wie Ihr Konto befindet. Bei diesem Feature werden keine Daten zwischen verschiedenen Regionen ausgetauscht.
Sie können den Protokolliergrad bzw. die Ablaufverfolgungsebene einer Anwendung nicht ändern, da dies vom Anbieter festlegt wird.
Snowflake empfiehlt, die in der Ereignistabelle erfassten Protokolleinträge und Ereignisse erst zu prüfen, bevor Sie die Ereignisfreigabe aktivieren.
Snowflake empfiehlt, die Protokollierung und Ereignisfreigabe zu deaktivieren, wenn Sie in der Anwendung keine Problembehandlung durchführen müssen.
Ereignistabelle einrichten¶
Das Native Apps Framework benötigt eine Ereignistabelle zum Speichern der Protokollmeldungen und Ablaufverfolgungsereignisse, die von Funktionen und gespeicherten Prozeduren in einer Anwendung generiert werden.
Bemerkung
Wenn Sie vor dem Installieren der Anwendung keine Ereignistabelle eingerichtet haben bzw. diese Tabelle nicht als aktive Tabelle definiert haben, werden die Ereignis- und Protokolldaten verworfen.
Ein Konto kann mehrere Ereignistabellen haben, aber es kann immer nur eine davon als aktive Ereignistabelle für ein Snowflake-Konto festgelegt sein. Ohne eine aktive Ereignistabelle werden die von der Anwendung generierten Protokollmeldungen und Ablaufverfolgungsereignisse nicht erfasst. Dies gilt auch dann, wenn die Funktionen und Prozeduren in einer Anwendung die APIs für Protokollierung und Ablaufverfolgungsereignisse aufrufen.
Verwenden Sie den Befehl CREATE EVENT TABLE, um eine Ereignistabelle zu erstellen, wie im folgenden Beispiel gezeigt:
CREATE EVENT TABLE event_db.event_schema.my_event_table;
Nachdem Sie die Ereignistabelle erstellt haben, legen Sie mit dem Befehl ALTER ACCOUNT fest, dass die Ereignistabelle die aktive Tabelle für das Konto sein soll:
ALTER ACCOUNT SET EVENT_TABLE=event_db.event_schema.my_event_table;
Ereignisse in der Ereignistabelle anzeigen¶
Sowohl Anbieter als auch Verbraucher können die Ereignistabelle abfragen, um die gespeicherten Ereignisse anzuzeigen. Verwenden Sie den SELECT-Befehl, um die Protokolleinträge und Ablaufverfolgungsereignisse aus der Ereignistabelle abzufragen, z. B.:
SELECT * FROM event_db.event_schema.my_event_table;
Protokolliergrad und Ablaufverfolgungsereignis-Ebenen für eine Anwendung anzeigen¶
Als Verbraucher können Sie den Protokolliergrad einer Anwendung nicht ändern. Bevor Sie jedoch die Protokollierung für eine Anwendung aktivieren, empfiehlt Snowflake, den Protokolliergrad zu überprüfen, um die Art der Informationen zu verstehen, die für den Anbieter freigegeben werden sollen.
Um den Protokolliergrad einer installierten Anwendung anzuzeigen, führen Sie den folgenden Befehl aus:
DESC APPLICATION HelloSnowflake;
Dieser Befehl zeigt Informationen über die Anwendung HelloSnowflake
an, einschließlich der Werte für log_level
und trace_level
.
Aktivieren von Protokollierung und Ereignisfreigabe für eine Anwendung¶
Um Protokolleinträge und Ereignisinformationen für einen Anbieter freizugeben, müssen Sie die Ereignisfreigabe für die Anwendung aktivieren.
Um die Ereignisfreigabe für eine Anwendungsinstanz zu aktivieren, müssen die folgenden Voraussetzungen erfüllt sein:
Verwenden Sie eine Rolle mit der globalen Berechtigung MANAGE EVENT SHARING. Die Rolle ACCOUNTADMIN verfügt standardmäßig über diese Berechtigung und kann sie anderen Rollen zuweisen.
Zum Aktivieren der Ereignisfreigabe für eine Anwendung führen Sie den Befehl ALTER APPLICATION aus, um SHARE_EVENTS_WITH_PROVIDER auf TRUE
zu setzen. Beispiel:
ALTER APPLICATION HelloSnowflake SET SHARE_EVENTS_WITH_PROVIDER = TRUE;
Um den Status der Ereignisfreigabe für eine Anwendung anzuzeigen, verwenden Sie den Befehl DESC APPLICATION, wie im folgenden Beispiel gezeigt:
DESC APPLICATION HelloSnowflake;
SHARE_EVENTS_WITH_PROVIDER
zeigt den Status der Ereignisfreigabe für die Anwendung an.