- 카테고리:
시스템 함수 (시스템 정보)
SYSTEM$GET_DBT_LOG¶
|sf-dbt|에 대해 지정된 실행에 대한 로그를 반환합니다.
이 함수를 DBT_PROJECT_EXECUTION_HISTORY 함수와 함께 사용하여 dbt 아티팩트 및 로그에 프로그래밍 방식으로 액세스합니다.
구문¶
SYSTEM$GET_DBT_LOG ( '<query_id>' )
인자¶
query_id로그를 원하는 실행에 대한 쿼리 ID입니다.
반환¶
이 함수는 dbt.log 파일의 마지막 1,000줄을 반환합니다. 전체 로그를 보려면 아카이브 ZIP 파일을 다운로드합니다.
자세한 내용과 예는 프로그래밍 방식으로 dbt 아티팩트 및 로그에 액세스 섹션을 참조하세요.
액세스 제어 요구 사항¶
이 함수에는 다음 권한이 있는 작업 공간 및 dbt 프로젝트의 실행만 포함됩니다.
작업 공간에 대한 OWNERSHIP 또는 USAGE
dbt 프로젝트에 대한 OWNERSHIP, USAGE 또는 MONITOR
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한. 스키마에 대한 특정 권한을 부여받은 역할은 해당 스키마를 확인할 수 있습니다. 예를 들어, 스키마에 대해 CREATE 권한을 부여받은 역할은 해당 스키마에 대한 USAGE 권한을 함께 부여받지 않더라도 해당 스키마에 대한 오브젝트를 생성할 수 있습니다.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
이 시스템 함수는 dbt 프로젝트 오브젝트에서만 작동하며 작업 공간에는 사용할 수 없습니다.
CREATE DBT PROJECT 또는 ALTER DBT PROJECT … ADD VERSION에서 생성된 쿼리 IDs는 이 시스템 함수에서 지원되지 않습니다.
파일 내용의 직접 쿼리(예: 쿼리의 예)는 지원되지 않습니다.
:code:`query_id`가 NULL이거나 dbt 실행이 아닌 경우 오류가 발생합니다.
dbt 프로젝트 결과는 최대 14일 동안 사용할 수 있습니다.
실행 시간이 초과되거나 취소되거나 파일이 업로드되기 전에 실패하면 로그를 사용하지 못할 수 있습니다. 이러한 경우 실행은 dbt 기록에 :code:`UNHANDLED ERROR`와 같이 표시되며, 이러한 항목에는 로그가 포함되지 않을 수 있습니다.
로그 파일은 실행이 완료된 후에만 사용할 수 있으므로 진행 중인 실행에 대한 로그를 가져오는 데는 이 함수를 사용할 수 없습니다.
예¶
다음 예에서는 DBT_PROJECT_EXECUTION_HISTORY를 사용하여 :code:`MY_DBT_PROJECT`에 대한 가장 최근 dbt 프로젝트 실행을 조회합니다. 그런 다음 SYSTEM$GET_DBT_LOG를 사용하여 해당 실행에 대한 dbt 실행 로그를 가져와 실행 중에 어떤 일이 발생했는지 검사할 수 있습니다.
--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
자세한 내용은 프로그래밍 방식으로 dbt 아티팩트 및 로그에 액세스 섹션을 참조하십시오.