실행 검색의 필터
List Executions Resource의 where에 ExecutionFilter를 지정합니다. type은 연산자이며 field는 실행 속성입니다. and, or, not으로 필터를 재귀적으로 조합할 수 있습니다. 속성과 연산자가 맞지 않거나 필수 값이 빠진 필터는 InvalidExecutionFilter로 거부합니다.
속성과 지원 연산자
field | 값의 자료형과 조건 | 지원 연산자 |
|---|---|---|
status | SUCCEEDED 또는 FAILED | eq, in |
duration | Core.Duration | gte, lte |
userId | Core.UserId | eq, in, isNull |
callerRid | 문자열 | eq, in, isNull |
resourceVersion | 문자열 | eq, in |
failureReason | 자유 형식 설명이 아닌 실패 분류 문자열 | eq, in |
foundryTraceId | 문자열 | eq, in |
traceOwningRid | 문자열 | eq, in |
userId는 검색 조건으로 사용할 수 있지만 실행 응답에 같은 필드가 반환된다고 전제하지 않습니다. 로그 추적에는 foundryTraceId와 traceOwningRid를 함께 사용합니다.
분기별 필드
각 분기에 type을 지정합니다. 필수 여부는 아래와 같습니다.
type | 필수 필드 | 선택 필드 | 일치 조건 |
|---|---|---|---|
eq | field, value: any | 없음 | 값이 정확히 같음 |
in | field | value: list<any> | 속성값이 목록에 포함됨 |
gte | field, value: Core.Duration | 없음 | 값 이상 |
lte | field, value: Core.Duration | 없음 | 값 이하 |
isNull | field | 없음 | 속성이 없음 |
and | 없음 | filters: list<ExecutionFilter> | 모든 하위 조건과 일치 |
or | 없음 | filters: list<ExecutionFilter> | 하나 이상의 하위 조건과 일치 |
not | filter: ExecutionFilter | 없음 | 하위 조건을 부정 |
eq.value와 in.value의 항목 자료형은 선택한 속성에 따릅니다. isNull은 지원 목록의 userId와 callerRid에 사용합니다. 예를 들어 호출자가 없는 실행이나 사용자 ID가 없는 시스템 시작 실행을 선택할 수 있습니다.
실행 시간의 경계
gte와 lte는 현재 duration에만 사용할 수 있습니다. Core.Duration 객체에는 필수 정수 value와 필수 unit이 있습니다. 필터의 값은 음수일 수 없습니다.
공통 Duration 자료형의 단위 열거값은 MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS, WEEKS, MONTHS, YEARS입니다. 실행 시간 필터에서 지원하는 단위는 앞의 네 가지인 MILLISECONDS, SECONDS, MINUTES, HOURS로 제한됩니다. 공통 자료형에 있다는 이유로 DAYS 이상 단위를 이 필터에 사용하지 않습니다.
다음은 30초 이상 걸린 실패 실행을 선택하는 조건입니다.
{
"type":"and",
"filters":[
{"type":"eq","field":"status","value":"FAILED"},
{"type":"gte","field":"duration","value":{"unit":"SECONDS","value":30}}
]
}
gte와 lte의 경계는 모두 포함합니다. 요청 본문의 시간 범위인 startTime 이상, endTime 미만 조건은 실행 시작 시각에 적용하며 이 실행 시간 필터와 함께 사용할 수 있습니다.