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:

  1. Überprüfen der Hinweise zum Aktivieren von Protokollierung und Ereignisfreigabe

  2. Einrichten einer Ereignistabelle

  3. Anzeigen des vom Anbieter angegebenen Protokolliergrads

  4. Anzeigen der Ereignisse in der Ereignistabelle

  5. Aktivieren von Protokollierung und Ereignisfreigabe für eine Anwendung

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;
Copy

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;
Copy

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;
Copy

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;
Copy

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:

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;
Copy

Um den Status der Ereignisfreigabe für eine Anwendung anzuzeigen, verwenden Sie den Befehl DESC APPLICATION, wie im folgenden Beispiel gezeigt:

DESC APPLICATION HelloSnowflake;
Copy

SHARE_EVENTS_WITH_PROVIDER zeigt den Status der Ereignisfreigabe für die Anwendung an.