Script Development / DataKit, DataWay
The DataKit and DataWay Connector primarily provides methods for data writing.
DFF.CONN(...)
parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
connector_id |
str | Required | Connector ID |
source |
str | None |
Specify Source Note: Avoid using "mysql" to prevent conflicts with other collectors |
Parameter | Type | Required / Default | Description |
---|---|---|---|
connector_id |
str | Required | Connector ID |
token |
str | None |
Specify Token |
- For general data reporting, use
.write_by_category(...)
,.write_by_category_many(...)
methods - For general DQL execution, use
.query(...)
method - For direct GET requests, use
.get(...)
method - For direct POST requests, use
.post_json(...)
method - For direct line protocol data sending, use
.post_line_protocol(...)
method
This Connector is essentially an encapsulation of HTTP requests
Most interfaces between DataKit and DataWay are identical"
Since DataKit and DataWay interfaces frequently change, this Connector does not encapsulate all interfaces one-to-one
Since different versions of DataKit and DataWay may have different requirements or constraints for data reporting, please use this Connector after reading the relevant documentation
Detailed documentation can be found at:
.write_by_category(...)
Write specific types of data to DataKit or DataWay, parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
category |
str | Required | Data type, see TrueWatch Guide / DataKit API |
measurement |
str | Required | Measurement name |
tags |
dict | Required | Tags. Both key names and key values must be strings |
fields |
dict | Required | Metrics. Key names must be strings, key values can be strings/integers/floats/booleans |
timestamp |
int/long/float | {Current time} | Timestamp, supports seconds/milliseconds/microseconds/nanoseconds. |
headers |
dict | None |
Request Header parameters |
Parameter
headers
added in version 3.3.0
Example | |
---|---|
1 2 3 |
|
.write_by_category_many(...)
Batch version of write_by_category(...)
, parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
category |
str | Required | Data type, see TrueWatch Guide / DataKit API |
data |
list | Required | List of data points |
data[#].measurement |
str | Required | Measurement name |
data[#].tags |
dict | Required | Tags. Both key names and key values must be strings |
data[#].fields |
dict | Required | Metrics. Key names must be strings, key values can be strings/integers/floats/booleans |
data[#].timestamp |
int/long/float | {Current time} | Timestamp, supports seconds/milliseconds/microseconds/nanoseconds. |
headers |
dict | None |
Request Header parameters |
Parameter
headers
added in version 3.3.0
Example | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
.write_metric(...)
/ .write_point(...)
Legacy methods, equivalent to
.write_by_category(category='metric', ...)
Example | |
---|---|
1 |
|
.write_metrics(...)
/ .write_metric_many(...)
/ .write_points(...)
Legacy methods, equivalent to
.write_by_category_many(category='metric', ...)
Example | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
.write_logging(...)
/ .write_logging_many(...)
Legacy methods, equivalent to
.write_by_category_many(category='logging', ...)
.query(...)
This method supports parameters from the DataKit API DQL query interface
Detailed documentation can be found at TrueWatch Guide / DataKit API Guide
Execute DQL statements via DataKit or DataWay, parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
dql |
str | Required | DQL statement |
dict_output |
bool | False |
Whether to automatically convert data to dict . |
raw |
bool | False |
Whether to return raw response. When enabled, dict_output parameter is ignored. |
all_series |
bool | False |
Whether to automatically paginate using slimit and soffset to get all time series. |
{DataKit, DataWay native parameters} |
- | - | Pass through to queries[0].{DataKit, DataWay native parameters} |
Example | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Output 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 25 26 27 |
|
Example | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Output 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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
.get(...)
This is a general-purpose method
For specific parameter formats and content, refer to TrueWatch Guide / DataKit API
Send a GET request to DataKit or DataWay, parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
path |
str | Required | Request path |
query |
dict | None |
Request URL parameters |
headers |
dict | None |
Request Header parameters |
.post_json(...)
This is a general-purpose method
For specific parameter formats and content, refer to TrueWatch Guide / DataKit API
Send a POST request in JSON format to DataKit or DataWay, parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
path |
str | Required | Request path |
json_obj |
dict/list | Required | JSON object to send |
query |
dict | None |
Request URL parameters |
headers |
dict | None |
Request Header parameters |
Parameter
path
adjusted to be the first parameter in version 1.6.8
.post_line_protocol(...)
This is a general-purpose method
For specific parameter formats and content, refer to TrueWatch Guide / DataKit API
Send a POST request in line protocol format to DataKit or DataWay, parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
path |
str | Required | Request path |
points |
list | Required | List of data points in line protocol format |
points[#].measurement |
str | Required | Measurement name |
points[#].tags |
dict | Required | Tags. Both key names and key values must be strings |
points[#].fields |
dict | Required | Metrics. Key names must be strings, key values can be strings/integers/floats/booleans |
points[#].timestamp |
int/long/float | {Current time} | Timestamp, supports seconds/milliseconds/microseconds/nanoseconds. |
query |
dict | None |
Request URL parameters |
headers |
dict | None |
Request Header parameters |
Parameter
path
adjusted to be the first parameter in version 1.6.8