- Kategorien:
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()
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:
IMPORTED PRIVILEGES für die SNOWFLAKE-Datenbank. Weitere Informationen dazu finden Sie unter Ermöglicht anderen Rollen die Verwendung von Schemas in der SNOWFLAKE-Datenbank..
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';
Rufen Sie die Datenmetrikfunktion manuell auf:
SELECT data_freshness_hour(SELECT last_updated FROM hr.tables.empl_info) < 60;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.