스크립트 개발 / 내장 변수
스크립트가 실행 중에 관련 실행 상태 정보를 편리하게 얻을 수 있도록, DataFlux Func는 스크립트 컨텍스트에 바로 사용할 수 있는 변수들을 내장하고 있습니다.
| 내장 변수 | 유형 | 적용 범위 | 설명 | 예시 값 |
|---|---|---|---|---|
_DFF_IMAGE_INFO |
dict | 전체 | 현재 이미지 정보 | 아래 참조 |
_DFF_TRACE_ID |
str | 전체 | Trace ID Func 내부의 Trace |
"TRACE-14E6D8D6-1F1A-4A5A-8280-854F6DD8CDB0" |
_DFF_TASK_ID |
str | 전체 | 작업 ID | "task-2UHeFYPdb6Q7" |
_DFF_ROOT_TASK_ID |
str | 전체 | 메인 작업 ID 메인 작업 자체의 경우 "ROOT로 고정됩니다 |
"task-2UHeFYPdb6Q7" |
_DFF_SCRIPT_SET_ID |
str | 전체 | 스크립트 세트 ID | "demo" |
_DFF_SCRIPT_SET_NAME |
str | 전체 | 스크립트 세트 이름_DFF_SCRIPT_SET_ID와 동일함 |
"demo" |
_DFF_SCRIPT_SET_TITLE |
str | 전체 | 스크립트 세트 제목 | "예시" |
_DFF_SCRIPT_ID |
str | 전체 | 스크립트 ID | "demo__basic" |
_DFF_SCRIPT_NAME |
str | 전체 | 스크립트 이름 즉, 스크립트 세트 ID를 포함하지 않는 부분 |
"basic" |
_DFF_SCRIPT_TITLE |
str | 전체 | 스크립트 제목 | "기본" |
_DFF_FUNC_ID |
str | 전체 | 함수 ID | "demo__basic.hello_world" |
_DFF_FUNC_NAME |
str | 전체 | 함수 이름 즉, 스크립트 ID를 포함하지 않는 부분 |
"hello_world" |
_DFF_FUNC_TITLE |
str | 전체 | 함수 제목 | "내 함수" |
_DFF_FUNC_CHAIN |
list | 전체 | 함수 호출 체인 | [ "demo__basic.run", "demo__basic.hello_world" ] |
_DFF_FUNC_CALL_KWARGS |
dict | 전체 | 함수 호출 인자 | {"x": 1, "y": 2} |
_DFF_ORIGIN |
str | 전체 | 작업 출처 | "funcAPI" |
_DFF_ORIGIN_ID |
str | 전체 | 출처 ID | "fapi-tDGC12Gdc5H6" |
_DFF_TRIGGER_TIME |
int | 전체 | 예약 시작 시간(초) | 1625651909 |
_DFF_TRIGGER_TIME_MS |
int | 전체 | 예약 시작 시간(밀리초) | 1625651909582 |
_DFF_START_TIME |
int | 전체 | 실제 시작 시간(초) | 1625651910 |
_DFF_START_TIME_MS |
int | 전체 | 실제 시작 시간(밀리초) | 1625651910630 |
_DFF_QUEUE |
int | 전체 | 실행 큐 | 2 |
_DFF_CRON_EXPR |
str | 예약 작업 | Crontab 표현식 | * * * * * |
_DFF_HTTP_REQUEST |
dict | 함수 API 함수 페이지 |
API 호출 시 요청 본문 | 아래 참조 |
_DFF_TRIGGER_TIME과 _DFF_START_TIME의 차이
_DFF_START_TIME은 함수가 실제로 시작된 시간을 의미하며, 함수 진입점에서 실행된 int(time.time())과 동일합니다. 큐 혼잡 등의 요인으로 인해 지연될 수 있습니다.
반면 _DFF_TRIGGER_TIME은 함수 트리거 시간을 의미하며, 큐 혼잡으로 인해 변경되지 않습니다. '예약 시작 시간'으로 간주할 수 있으며, 값은 다음과 같습니다:
| 함수 호출 방식 | 값 |
|---|---|
| UI 실행 함수 | 백엔드 API 서비스가 HTTP 요청을 수신한 시간 |
| 함수 API | 백엔드 API 서비스가 HTTP 요청을 수신한 시간 |
| 예약 작업 | Crontab 표현식에 해당하는 정확한 시각 |
예약 작업을 사용하여 고정된 시간 간격으로 시계열 데이터를 가져올 때는 _DFF_TRIGGER_TIME 및 _DFF_TRIGGER_TIME_MS를 기준으로 삼아야 하며, 코드에서 time.time()을 직접 사용하여 현재 시간을 가져오지 마십시오
_DFF_IMAGE_INFO 데이터 구조
_DFF_IMAGE_INFO 내용은 DataFlux Func 이미지 정보이며, 버전 번호 등의 정보를 포함합니다.
| 필드 | 설명 |
|---|---|
EDITION |
버전, 값은 "original", "GSE", "TSE"입니다 |
VERSION |
버전 번호, 예: "1.2.3" |
ARCHITECTURE |
아키텍처, 값은 "x86_64", "aarch64"입니다 |
RELEASE_TIMESTAMP |
출시 시간(UNIX 타임스탬프, 초) |
| _DFF_IMAGE_INFO 내용 예시 | |
|---|---|
1 2 3 4 5 6 | |
_DFF_HTTP_REQUEST 데이터 구조
_DFF_HTTP_REQUEST 내용은 요청 본문의 상세 정보입니다.
다음과 같은 요청이 있는 경우:
| 요청 예시 | |
|---|---|
1 2 3 4 5 | |
그러면 _DFF_HTTP_REQUEST 값은 다음과 같습니다:
| _DFF_HTTP_REQUEST 내용 예시 | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
DataFlux Func 버전에 따라 _DFF_HTTP_REQUEST에 포함된 필드는 약간 다를 수 있으니 실제 값을 기준으로 하십시오
headers 필드의 유형은 IgnoreCaseDict 유형의 데이터입니다. IgnoreCaseDict는 dict를 상속하며 사용법은 기본적으로 동일하지만 키 이름의 대소문자를 구분하지 않습니다. 예를 들어 다음 여러 줄의 코드는 모두 동일한 값을 얻을 수 있습니다
| Python | |
|---|---|
1 2 3 | |