Kategorien:

Datenmetrikfunktionen

DATA_METRIC_SCHEDULED_TIME (System-Datenmetrikfunktion)

Gibt den Zeitstempel zurück, für den die Ausführung der DMF geplant ist, oder den aktuellen Zeitstempel, wenn die Funktion manuell aufgerufen wird.

Sie können diese DMF verwenden, um kundenspezifische Metriken zur Messung der Aktualität Ihrer Daten zu definieren oder um inkrementelle Metriken in Verbindung mit DMFs zu definieren, die bereits existieren.

Syntax

SNOWFLAKE.CORE.DATA_METRIC_SCHEDULED_TIME()
Copy

Argumente

Keine.

Rückgabewerte

Die Funktion gibt einen Einzelwert vom Datentyp TIMESTAMP_LTZ zurück.

Anforderungen an die Zugriffssteuerung

Um eine System-DMF zu verwenden, wählen Sie eine der folgenden Zugriffssteuerungsmethoden aus:

  • Weisen Sie die Datenbankrolle DATA_METRIC_USER der Rolle des Tabelleneigentümers zu, d. h. der Rolle mit der Berechtigung OWNERSHIP für die Tabelle. Diese Datenbankrolle hat die USAGE-Berechtigung für das Schema SNOWFLAKE.CORE und die Berechtigung USAGE für alle System-DMFs im Schema SNOWFLAKE.CORE.

    Weisen Sie der Rolle des Tabelleneigentümers außerdem die in dieser Tabelle aufgeführten Berechtigungen zu:

    Berechtigung

    Objekt

    Anmerkungen

    EXECUTE DATA METRIC FUNCTION

    Konto

    Mit dieser Berechtigung können Sie steuern, welche Rollen Zugriff auf serverlose Computeressourcen haben, um die System-DMF aufzurufen.

    USAGE

    Datenbank, Schema

    Diese Objekte sind die Datenbank und das Schema, die die referenzierte Tabelle in query enthalten.

  • Weisen Sie die Berechtigungen aus der vorherigen Tabelle der Rolle des Tabelleneigentümers zu. Weisen der Rolle des Tabelleneigentümers außerdem die folgenden Berechtigungen zu:

  • Verwenden Sie die Rolle ACCOUNTADMIN.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Nutzungshinweise

Der manuelle Aufruf dieser Funktion in einer SELECT-Abfrage gibt denselben Wert zurück wie die Funktion CURRENT_TIMESTAMP.

Beispiel

Erstellen Sie eine kundenspezifische Datenmetrikfunktion, um die Datenaktualität einer Tabelle in der letzten Stunde zu ermitteln:

CREATE OR REPLACE DATA METRIC FUNCTION data_freshness_hour(
  ARG_T TABLE (ARG_C TIMESTAMP_LTZ))
  RETURNS NUMBER AS
  'SELECT TIMEDIFF(
     minute,
     MAX(ARG_C),
     SNOWFLAKE.CORE.DATA_METRIC_SCHEDULED_TIME())
   FROM ARG_T';
Copy

Rufen Sie die Datenmetrikfunktion manuell auf:

SELECT data_freshness_hour(SELECT last_updated FROM hr.tables.empl_info) < 60;
Copy

Die Anweisung gibt True zurück, wenn es in der letzten Stunde (60 Minuten) keine Aktualisierungen der Tabelle gab.

Die Anweisung gibt False zurück, wenn es Aktualisierungen der Tabelle gab, die vor mehr als einer Stunde stattfanden.