Script Development / Built-in Variables
To facilitate scripts in obtaining relevant runtime status information, DataFlux Func has directly built some variables in the script context that can be used directly.
Built-in Variable | Type | Scope | Description | Example Value |
---|---|---|---|---|
_DFF_SCRIPT_SET_ID |
str | All | Script Set ID | "demo" |
_DFF_SCRIPT_ID |
str | All | Script ID | "demo__basic" |
_DFF_FUNC_ID |
str | All | Function ID | "demo__basic.hello_world" |
_DFF_FUNC_NAME |
str | All | Function Name | "hello_world" |
_DFF_START_TIME |
int | All | Actual Start Time (seconds) | 1625651910 |
_DFF_START_TIME_MS |
int | All | Actual Start Time (milliseconds) | 1625651910630 |
_DFF_TRIGGER_TIME |
int | All | Scheduled Start Time (seconds) | 1625651909 |
_DFF_TRIGGER_TIME_MS |
int | All | Scheduled Start Time (milliseconds) | 1625651909582 |
_DFF_CRON_EXPR |
str | Cron Job | Crontab Expression | * * * * * |
_DFF_HTTP_REQUEST |
dict | Func API | Request Body when API is called | See below |
Difference Between _DFF_START_TIME
and _DFF_TRIGGER_TIME
_DFF_START_TIME
refers to the actual start time of the function, equivalent to int(time.time())
executed at the function entry, which may be delayed due to queue congestion and other factors.
_DFF_TRIGGER_TIME
refers to the function trigger time, which does not change due to queue congestion and can be considered as the "scheduled start time". The values are as follows:
Function Call Method | Value |
---|---|
UI Execution | Time when the backend API service receives the HTTP request |
Func API | Time when the backend API service receives the HTTP request |
Cron Job | The exact time corresponding to the Crontab expression |
When using 'Cron Job' to obtain time series data at fixed intervals, you should use _DFF_TRIGGER_TIME and _DFF_TRIGGER_TIME_MS as the benchmark, do not use time.time() in the code to get the current time
Data Structure of _DFF_HTTP_REQUEST
_DFF_HTTP_REQUEST
contains the details of the request body.
If there is a request as follows:
Request Example | |
---|---|
1 2 3 4 5 |
|
Then, the value of _DFF_HTTP_REQUEST
is as follows:
_DFF_HTTP_REQUEST Example | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
The fields included in _DFF_HTTP_REQUEST may vary slightly in different versions of DataFlux Func, please refer to the actual version
The headers field is of type IgnoreCaseDict. IgnoreCaseDict inherits dict, and the usage is basically the same but does not distinguish between uppercase and lowercase keys. For example, the following lines of code will get the same value
Python | |
---|---|
1 2 3 |
|