Script Development / InfluxDB
The InfluxDB Connector is a wrapper for the Python third-party package influxdb (version 5.2.3), providing methods for querying InfluxDB. This Connector is compatible with the following databases:
- Alibaba Cloud Time Series Database InfluxDB Edition
This Connector connects via HTTP protocol
DFF.CONN(...)
parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
connector_id |
str | Required | Connector ID |
database |
str | None |
Specified database |
.query(...)
Executes an InfluxQL statement. Parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
sql |
str | Required | InfluxQL statement, which can include placeholder bind parameters in the form of $var_name |
bind_params |
dict | None |
Bind parameters |
database |
str | None |
Specified database for this query |
dict_output |
dict | False |
Automatically converts returned data to {column name: value} format |
Example | |
---|---|
1 2 3 |
|
Output Example | |
---|---|
1 |
|
Example 2 (Specify dictionary format for returned results) | |
---|---|
1 2 3 |
|
Output Example | |
---|---|
1 |
|
.query2(...)
The query2(...)
method is also used to execute InfluxQL statements, but uses question marks ?
as parameter placeholders. Parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
sql |
str | Required | InfluxQL statement, which can include parameter placeholders.? indicates parameters that need escaping;?? indicates parameters that do not need escaping |
sql_params |
list | None |
InfluxQL parameters |
database |
str | None |
Specified database for this query |
dict_output |
dict | False |
Automatically converts returned data to {"column name": "value"} format |
Example | |
---|---|
1 2 3 |
|
Dynamic SQL Statements
query2(...)
internally uses DFF.SQL(...)
to construct SQL statements and supports constructing complex dynamic SQL statements.
For example, WHERE IN (...)
with an uncertain number of values, or INSERT INTO ... VALUES ...
for batch data insertion.
For more details, refer to Script Development / SQL Construction DFF.SQL
.write_point(...)
Added in version 1.1.13
Writes a single data point. Parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
measurement |
str | Required | Measurement |
fields |
dict{str: str/int/float/bool} | Required | Fields Key must be str Value can be str/int/float/bool |
tags |
dict{str: str} | None |
Tags Both key and value must be str |
timestamp |
str/int | None |
Time ISO format, e.g., 2020-01-01T01:02:03Z UNIX timestamp, e.g., 1577840523 |
database |
str | None |
Specified database for this write operation |
Example | |
---|---|
1 2 3 |
|
.write_points(...)
Added in version 1.1.13
Writes multiple data points in a batch. Parameters are as follows:
Parameter | Type | Required / Default | Description |
---|---|---|---|
points |
list | Required | Array of data points |
points[#]['measurement'] |
str | Required | Measurement |
points[#]['fields'] |
dict{str: str/int/float/bool} | Required | Fields Key must be str Value can be str/int/float/bool |
points[#]['tags'] |
dict{str: str} | None |
Tags Both key and value must be str |
points[#]['time'] |
str/int | None |
Time ISO format, e.g., 2020-01-01T01:02:03Z UNIX timestamp, e.g., 1577840523 |
database |
str | None |
Specified database for this write operation |
Example | |
---|---|
1 2 3 4 5 6 7 8 |
|