- Kategorien:
Systemfunktionen (Systeminformationen)
SYSTEM$GET_DBT_LOG¶
Gibt die Protokolle für die angegebene Ausführung von dbt Projects on Snowflake zurück.
Verwenden Sie diese Funktion mit der DBT_PROJECT_EXECUTION_HISTORY-Funktion für den programmgesteuerten Zugriff auf dbt-Artefakte und -Protokolle.
Syntax¶
SYSTEM$GET_DBT_LOG ( '<query_id>' )
Argumente¶
query_idAbfrage-ID der Ausführung, für die Sie Protokolle wünschen.
Rückgabewerte¶
Die Funktion gibt die letzten 1.000 Zeilen der dbt.log-Datei zurück. Für vollständige Protokolle laden Sie die ZIP-Archivdatei herunter.
Weitere Informationen und Beispiele dazu finden Sie unter Programmgesteuert auf dbt-Artefakte und -Protokolle zugreifen.
Anforderungen an die Zugriffssteuerung¶
Diese Funktion umfasst nur Ausführungen aus Arbeitsbereichen und dbt-Projekten, in denen Sie über die folgenden Berechtigungen verfügen:
OWNERSHIP oder USAGE für Arbeitsbereiche
OWNERSHIP, USAGE oder MONITOR für dbt-Projekte
USAGE-Berechtigung für die übergeordnete Datenbank und das Schema ist erforderlich, um Operationen an einem beliebigen Objekt in einem Schema durchzuführen. Beachten Sie, dass eine Rolle, die eine beliebige Berechtigung für ein Schema erhalten hat, es dieser Rolle erlaubt, das Schema aufzulösen. Zum Beispiel kann eine Rolle, der die CREATE-Berechtigung für ein Schema gewährt wurde, Objekte in diesem Schema erstellen, ohne auch USAGE für dieses Schema gewährt bekommen zu haben.
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¶
Diese Systemfunktion funktioniert nur für dbt-Projektobjekte. Sie ist nicht für Arbeitsbereiche verfügbar.
Abfrage-IDs, die von CREATE DBT PROJECT oder ALTER DBT PROJECT … ADD VERSION generiert wurden, werden bei dieser Systemfunktion nicht unterstützt.
Direkte Abfragen von Dateiinhalten (z. B. Abfragebeispiele) werden nicht unterstützt.
Wenn
query_idNULL oder keine dbt-Ausführung ist, erhalten Sie einen Fehler.dbt-Projektergebnisse sind bis zu 14 Tage lang verfügbar.
Protokolle sind möglicherweise nicht verfügbar, wenn für eine Ausführung eine Zeitüberschreitung auftritt, die Ausführung abgebrochen wird oder fehlschlägt, bevor Dateien hochgeladen werden. In solchen Fällen werden die Ausführungen als
UNHANDLED ERRORim dbt-Verlauf angezeigt und diese Einträge enthalten möglicherweise keine Protokolle.Sie können diese Funktion nicht verwenden, um Protokolle für laufende Ausführungen zu erhalten, da die Protokolldatei erst nach Abschluss der Ausführung verfügbar ist.
Beispiele¶
Im folgenden Beispiel wird die letzte Ausführung des dbt-Projekts für MY_DBT_PROJECT unter Verwendung von DBT_PROJECT_EXECUTION_HISTORY gesucht. Anschließend werden die dbt-Ausführungsprotokolle für diese Ausführung mit SYSTEM$GET_DBT_LOG abgerufen, damit Sie untersuchen können, was während der Ausführung passiert ist.
--Look up the most recent dbt Project execution
SET latest_query_id = (SELECT query_id
FROM TABLE(INFORMATION_SCHEMA.DBT_PROJECT_EXECUTION_HISTORY())
WHERE OBJECT_NAME = 'MY_DBT_PROJECT'
ORDER BY query_end_time DESC LIMIT 1);
--Get the dbt run logs for the most recent dbt Project execution
SELECT SYSTEM$GET_DBT_LOG($latest_query_id);
============================== 15:14:53.100781 | 46d19186-61b8-4442-8339-53c771083f16 ==============================
[0m15:14:53.100781 [info ] [Dummy-1 ]: Running with dbt=1.9.4
...
[0m15:14:58.198545 [debug] [Dummy-1 ]: Command `cli run` succeeded at 15:14:58.198121 after 5.19 seconds
Weitere Informationen dazu finden Sie unter Programmgesteuert auf dbt-Artefakte und -Protokolle zugreifen.