- 카테고리:
시스템 함수 (시스템 정보)
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
Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 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 아티팩트 및 로그에 액세스 섹션을 참조하십시오.