evtctxget()

이벤트 컨텍스트의 지정된 속성 값을 반환합니다. evtctx 명령어로 생성된 이벤트 컨텍스트의 카운터, 생성 시간, 만료 시간, 수집된 행 목록 등의 메타데이터를 조회하는 데 사용합니다.

문법

evtctxget(TOPIC, KEY, FIELD[, HOST])

매개변수

TOPIC
이벤트 컨텍스트의 토픽 이름. 문자열.
KEY
이벤트 컨텍스트의 키 값. 문자열.
FIELD
조회할 속성 이름. 다음 값 중 하나를 지정합니다.
  • counter — 이벤트 컨텍스트에 누적된 이벤트 카운터 값. 64비트 정수를 반환합니다.
  • created — 이벤트 컨텍스트가 생성된 시간. 날짜를 반환합니다.
  • expire — 이벤트 컨텍스트의 만료 시간. 날짜를 반환합니다.
  • timeout — 이벤트 컨텍스트의 타임아웃 시간. 날짜를 반환합니다.
  • rows — 이벤트 컨텍스트에 수집된 행 목록. 배열을 반환합니다.
  • vars — 이벤트 컨텍스트에 설정된 변수 맵. 객체를 반환합니다.
HOST
(선택) 이벤트 컨텍스트가 속한 호스트 이름. 생략하면 기본 호스트에서 검색합니다.

설명

TOPICKEY로 이벤트 컨텍스트를 식별한 뒤, FIELD에 지정된 속성 값을 반환합니다.

TOPIC 또는 KEY가 null이면 null을 반환합니다. 지정한 이벤트 컨텍스트가 존재하지 않으면 null을 반환합니다.

expire 또는 timeout을 조회할 때 해당 값이 설정되어 있지 않으면 null을 반환합니다.

FIELD에 유효하지 않은 값을 지정하면 파싱 시점에 오류가 발생합니다.

오류 코드

오류 코드설명
invalid-evtctxget-arguments인수 개수가 3개 또는 4개가 아닙니다.
invalid-evtctxget-fieldFIELD 인수를 평가할 수 없습니다.
unsupported-evtctx-fieldFIELD에 지원하지 않는 속성 이름을 지정했습니다.

사용 예

  1. login_fail 토픽에서 사용자별 이벤트 카운터 조회

    evtctx topic=login_fail key=src_user max_count=5
    | eval cnt = evtctxget("login_fail", src_user, "counter")
    
  2. 이벤트 컨텍스트의 생성 시간과 만료 시간 조회

    evtctx topic=login_fail key=src_user expire=300
    | eval created_at = evtctxget("login_fail", src_user, "created"),
           expire_at  = evtctxget("login_fail", src_user, "expire")
    
  3. 이벤트 컨텍스트에 저장된 변수 맵 전체 조회

    evtctx topic=login_fail key=src_user
    | eval all_vars = evtctxget("login_fail", src_user, "vars")
    
  4. TOPICnull인 경우

    evtctx topic=login_fail key=src_user
    | eval cnt = evtctxget(null, src_user, "counter")
    | # cnt: null
    

호환성

evtctxget() 함수는 소나 4.0 이전 버전부터 제공되었습니다.