Kategorien:

Information Schema, Tabellenfunktionen

EXTERNAL_FUNCTIONS_HISTORY

Diese Tabellenfunktion ruft den Verlauf der von Snowflake aufgerufenen externen Funktionen für Ihr gesamtes Snowflake-Konto ab.

Bemerkung

Diese Funktion kann Ergebnisse nur für Aktivitäten der letzten 14 Tage zurückgeben.

Syntax

EXTERNAL_FUNCTIONS_HISTORY(
      [ DATE_RANGE_START => <constant_date_expression> ]
      [, DATE_RANGE_END => <constant_date_expression> ]
      [, FUNCTION_SIGNATURE => '<string>' ] )

Argumente

Alle Argumente sind optional.

DATE_RANGE_START => Konstanter_Datumsausdruck, . DATE_RANGE_END => Konstanter_Datumsausdruck

Der Datums-/Uhrzeitbereich innerhalb der letzten 2 Wochen, für den Verlaufsdaten abgerufen werden sollen:

  • Wenn kein Enddatum angegeben ist, wird CURRENT_DATE als Ende des Bereichs verwendet.

  • Wenn kein Startdatum angegeben ist, beginnt der Bereich 10 Minuten vor dem Start von DATE_RANGE_END (d. h. standardmäßig werden die letzten 10 Minuten des Verlaufs angezeigt). Wenn DATE_RANGE_END beispielsweise den Wert CURRENT_DATE hat, ist der Standardwert für DATE_RANGE_START 23:50 Uhr des vorherigen Tages.

Der Verlauf wird in Schritten von 5 Minuten, 1 Stunde oder 24 Stunden angezeigt (abhängig von der Länge des angegebenen Bereichs).

Wenn der Bereich außerhalb der letzten 15 Tage liegt, wird ein Fehler zurückgegeben.

FUNCTION_SIGNATURE => Zeichenfolge

Eine Zeichenfolge, die den Namen einer externen Funktion und die Datentypen der Argumente dieser Funktion angibt. (Die Datentypen unterscheiden zwischen überladenen Funktionsnamen.) Es werden nur Informationen zu dieser Funktion zurückgegeben.

Setzen Sie die Signatur in einfache Anführungszeichen, zum Beispiel:

function_signature => 'mydb.public.myfunction(integer, varchar)'

Beachten Sie, dass die Datentype der Argumente und nicht die Namen der Argumente angegeben werden.

Wenn keine Signatur angegeben ist, enthält die Ausgabe die Summe aller im Zeitbereich verwendeten externen Funktionen, und die folgenden Spalten in der Ergebnisanzeige zeigen NULL an:

  • FUNCTION_NAME

  • ARGUMENTS

  • FUNCTION_ENDPOINT_URL

  • SOURCE_CLOUD

  • SOURCE_REGION

  • TARGET_CLOUD

  • TARGET_REGION

Nutzungshinweise

  • Gibt Ergebnisse nur für die Rolle ACCOUNTADMIN oder für eine Rolle zurück, der die globale Berechtigung MONITOR USAGE explizit erteilt wurde.

  • Beim Aufrufen einer Tabellenfunktion des Information Schema muss die Sitzung über ein aktives INFORMATION_SCHEMA-Schema verfügen oder der Funktionsname EXTERNAL_FUNCTIONS_HISTORY muss vollqualifiziert sein. Weitere Details dazu finden Sie unter Information Schema.

  • Die Ausgabespalte mit dem Namen ARGUMENTS enthält nicht nur die Argumentdatentypen, sondern auch den Rückgabedatentyp. Der Eingabeparameter mit dem Namen FUNCTION_SIGNATURE sollte die Datentypen der Argumente enthalten, nicht jedoch den Rückgabedatentyp.

  • Tipps zur Problembehandlung finden Sie unter Funktion EXTERNAL_FUNCTIONS_HISTORY.

Ausgabe

Die Funktion gibt die folgenden Spalten zurück:

Spaltenname

Datentyp

Beschreibung

START_TIME

TIMESTAMP_LTZ

Beginn des angegebenen Zeitbereichs, für den der Verlauf zurückgegeben werden soll.

END_TIME

TIMESTAMP_LTZ

Ende des angegebenen Zeitbereichs, für den der Verlauf zurückgegeben werden soll.

NAME

TEXT

Name der Funktion, für die der Verlauf zurückgegeben werden soll.

ARGUMENTS

TEXT

Die Datentypen der Argumente und des Rückgabewerts. Die Datentypen der Argumente unterscheiden zwischen überladenen Funktionsnamen.

FUNCTION_ENDPOINT_URL

TEXT

Der HTTPS-Endpunkt, den die Funktion aufruft. Dies ist normalerweise ein Proxydienst.

SOURCE_CLOUD

TEXT

Die Cloudplattform (z. B. GCP, Azure oder AWS), von der Zeilen gesendet wurden.

SOURCE_REGION

TEXT

Die Region, zum Beispiel „eu-west-1“, aus der Zeilen gesendet wurden.

TARGET_CLOUD

TEXT

Die Cloudplattform (z. B. GCP, Azure oder AWS), an die Zeilen gesendet wurden.

TARGET_REGION

TEXT

Die Region, zum Beispiel „eu-west-1“, an die Zeilen gesendet wurden.

INVOCATIONS

NUMBER

Die Häufigkeit, mit der der Remotedienst im Zeitfenster zwischen START_TIME und END_TIME aufgerufen wurde. Dies schließt Wiederholungsversuche ein (z. B. aufgrund vorübergehender Netzwerkprobleme).

SENT_ROWS

NUMBER

Anzahl der Zeilen, die im Zeitfensters zwischen START_TIME und END_TIME an den externen Endpunkt gesendet wurden.

RECEIVED_ROWS

NUMBER

Anzahl der Zeilen, die im Zeitfenster zwischen START_TIME und END_TIME vom externen Endpunkt empfangen wurden.

SENT_BYTES

NUMBER

Anzahl der Bytes, die im Zeitfenster zwischen START_TIME und END_TIME an den externen Endpunkt gesendet wurden.

RECEIVED_BYTES

NUMBER

Anzahl der Bytes, die im Zeitfenster zwischen START_TIME und END_TIME vom externen Endpunkt empfangen wurden.

Beispiele

Abrufen des Verlaufs für Ihr Konto für einen 30-Minuten-Bereich (in 5-Minuten-Intervallen):

select *
  from table(information_schema.external_functions_history(
    date_range_start => to_timestamp_ltz('2020-05-24 12:00:00.000'),
    date_range_end => to_timestamp_ltz('2020-05-24 12:30:00.000')));

Abrufen des Verlaufs einer einzelnen externen Funktion für Ihr Konto für einen 12-Stunden-Bereich (in 1-Stunden-Intervallen):

select *
  from table(information_schema.external_functions_history(
    date_range_start => dateadd('hour', -12, current_timestamp()),
    function_signature => 'mydb.public.myfunction(integer, varchar)'));

Abrufen des Verlaufs für Ihr Konto für die letzten 14 Tage (in 1-Tages-Intervallen):

select *
  from table(information_schema.external_functions_history(
    date_range_start => dateadd('day', -14, current_date()),
    date_range_end => current_date()));

Abrufen des Verlaufs für eine angegebene Funktion Ihres Kontos für die letzten 14 Tage (in 1-Tages-Intervallen):

select *
  from table(information_schema.external_functions_history(
    date_range_start => dateadd('day', -14, current_date()),
    date_range_end => current_date(),
    function_signature => 'mydb.public.myfunction(integer, varchar)'));