GET_JOB_HISTORY

GET_JOB_HISTORY (Snowpark Container Services 작업 이력)

선택적인 시간 범위와 함께 최대 30일까지의 Snowpark Container Services 작업(job) 이력을 반환해요. 이 함수는 실행 중인 작업과 삭제된 작업을 모두 반환해요.

출처: Snowflake SQL Reference - GET_JOB_HISTORY

본문

구문

SNOWFLAKE.SPCS.GET_JOB_HISTORY(
  [ CREATED_TIME_START => <constant_expr> ],
  [ CREATED_TIME_END => <constant_expr> ],
  [ RESULT_LIMIT = <integer> ])

인자

CREATED_TIME_START => <constant_expr>

작업 이력을 가져올 작업 생성 시간 범위의 시작 시각(TIMESTAMP_LTZ 형식)이에요. 예: '2024-04-05 01:02:03'. 날짜·시간·타임스탬프 데이터를 구성하는 데 사용할 수 있는 함수는 날짜 및 시간 함수를 참고해요. 기본값: 현재 타임스탬프 기준 30일 전.

CREATED_TIME_END => <constant_expr>

작업 이력을 가져올 시간 범위의 끝 시각(TIMESTAMP_LTZ 형식)이에요. 기본값: 현재 타임스탬프.

RESULT_LIMIT => <integer>

반환할 최대 행 수예요. 일치하는 행 수가 지정한 제한을 초과하면 최근 타임스탬프를 가진 작업만 지정한 제한까지 반환돼요. 범위: 1에서 10000. 기본값: 100.

출력

이 함수는 다음 컬럼을 반환해요:

컬럼 데이터 타입 설명
QUERY_ID VARCHAR EXECUTE JOB SERVICE SQL 문의 ID
ID NUMBER 작업에 대한 내부/시스템 생성 식별자
NAME VARCHAR 작업의 이름
DATABASE_NAME VARCHAR 작업이 생성된 데이터베이스의 이름
SCHEMA_NAME VARCHAR 작업이 생성된 스키마의 이름
CREATED_TIME TIMESTAMP_LTZ 작업이 생성된 시각
COMPLETED_TIME TIMESTAMP_LTZ 작업이 완료된 시각
DELETED_TIME TIMESTAMP_LTZ 작업이 삭제된 시각
STATUS VARCHAR 작업의 상태
MESSAGE VARCHAR 작업 상태에 대한 추가 정보
INSTANCE_STATUSES OBJECT 작업 인스턴스와 컨테이너를 설명하는 키-값 쌍
COMPUTE_POOL_NAME VARCHAR 작업이 실행된 컴퓨트 풀의 이름
OWNER VARCHAR 작업을 소유하는 역할
OWNER_ROLE_TYPE VARCHAR 작업을 소유하는 역할의 유형. ROLE 또는 DATABASE_ROLE 중 하나
PARAMETERS OBJECT 작업 생성 시 지정된 매개변수를 설명하는 키-값 쌍
MANAGING_OBJECT OBJECT 관리 객체를 설명하는 키-값 쌍. 작업이 Snowflake에 의해 관리되지 않으면 NULL

액세스 제어 요구 사항

PUBLIC 역할이 이 함수를 사용할 권한을 가져요.

누구나 이 함수를 호출할 수 있지만 출력은 현재 역할에 따라 달라져요. 출력에는 현재 역할이 소유한 작업만 포함돼요.

예시

지난 30일 안에 현재 역할이 만든 모든 작업의 작업 이력을 반환해요(기본 CREATED_TIME_START 값):

SELECT * FROM TABLE(SNOWFLAKE.SPCS.GET_JOB_HISTORY());

지난 3일 안에 실행된 현재 역할이 소유한 최대 10개 작업의 작업 이력을 반환해요:

SELECT *
 FROM TABLE(snowflake.spcs.get_job_history(
         result_limit => 10,
         created_time_start => dateadd('day', -3, current_timestamp())
  ));

오늘을 포함하지 않고 3일 전과 1일 전 사이에 실행된 최대 10개 작업을 가져와요:

SELECT * FROM TABLE(SNOWFLAKE.SPCS.GET_JOB_HISTORY(
RESULT_LIMIT => 10,
CREATED_TIME_START => DATEADD('day', -3, CURRENT_TIMESTAMP()),
CREATED_TIME_END => DATEADD('day', -1, CURRENT_TIMESTAMP())));

더 알아보기