- Kategorien:
Systemfunktionen (Systeminformationen)
SYSTEM$GET_SERVICE_LOGS¶
Ruft lokale Protokolle von einem Snowpark Container Services-Dienstcontainer ab.
Syntax¶
Argumente¶
Benötigt:
service_nameName des Dienstes.
instance_idID der Dienstinstanz, beginnend mit 0.
container_nameContainername, wie in der Dienstspezifikationsdatei angegeben.
Optional:
number_of_most_recent_linesAnzahl der letzten abzurufenden Protokollzeilen.
Standard: Bis zu 100 KB der neuesten Protokollzeilen.
retrieve_previous_logsFalls TRUE, ruft die Funktion Protokolle aus einem zuvor beendeten Container ab. Sie können diesen Parameter nur angeben, wenn der Container mindestens einmal neu gestartet wurde.
Standardwert: false (Abrufen von Protokollen aus dem aktuell laufenden Container).
Rückgabewerte¶
Gibt eine Zeichenfolge zurück, die aus durch Zeilenumbrüche getrennten Protokolleinträgen aus dem angegebenen Dienstcontainer besteht.
Nutzungshinweise¶
Die aktuelle Rolle muss die Berechtigung MONITOR für den Dienst haben, um auf die Containerprotokolle zuzugreifen.
Die Funktion gibt ein Containerprotokoll als Zeichenfolge zurück. Sie können die Funktion SPLIT_TO_TABLE verwenden, um die Zeichenfolge in eine Tabelle umzuwandeln, die eine Zeile für jeden durch Zeilenumbrüche getrennten Eintrag enthält.
Beispiele¶
Abrufen von Protokollen aus dem aktuellen Container¶
Die folgende Anweisung ruft die letzten 10 Protokollzeilen von Instanz 0 des Dienstes „echo_service“ ab, der im Container „echo“ ausgeführt wird:
Sie können auch Tutorial 1: Snowpark Container Services-Dienst erstellen ausführen, um einen Dienst zu starten und den obigen Befehl auszuführen, um das Dienstprotokoll von einem Container zu erhalten.
Die Funktion gibt eine Zeichenfolge zurück, die aus durch Zeilenumbrüche getrennten Protokolleinträgen besteht. Sie können diese Zeichenfolge mit der Funktion SPLIT_TO_TABLE und dem Schlüsselwort TABLE() in eine Tabelle umwandeln (siehe Tabellenfunktionen).
Sie können außerdem einen Filter anwenden, um nur bestimmte Protokolleinträge abzurufen. Die WHERE-Klausel in der folgenden SELECT-Anweisung verwendet die CONTAINS-Funktion, um nur die Protokollzeilen abzurufen, die eine bestimmte Datumszeichenfolge enthalten:
Die folgende Beispielausgabe zeigt drei abgerufene Protokollzeilen:
Abrufen von Protokollen aus einem zuvor beendeten Container¶
Die folgende Anweisung ruft die letzten 10 Protokollzeilen von der zuvor beendeten Instanz des Dienstes „echo_service“ ab, der im Container „echo“ läuft. Hier gehen wir davon aus, dass der Container mindestens einmal neu gestartet wurde: