airflow.providers.influxdb.hooks.influxdb3

This module allows to connect to an InfluxDB 3 database.

InfluxDB 3.x (Core/Enterprise/Cloud Dedicated) uses SQL queries and a different API compared to InfluxDB 2.x.

Attributes

INFLUXDB_CLIENT_3_AVAILABLE

Classes

InfluxDB3Hook

Interact with InfluxDB 3.x (Core/Enterprise/Cloud Dedicated).

Module Contents

airflow.providers.influxdb.hooks.influxdb3.INFLUXDB_CLIENT_3_AVAILABLE = True[source]
class airflow.providers.influxdb.hooks.influxdb3.InfluxDB3Hook(conn_id=default_conn_name, *args, **kwargs)[source]

Bases: airflow.providers.common.compat.sdk.BaseHook

Interact with InfluxDB 3.x (Core/Enterprise/Cloud Dedicated).

Performs a connection to InfluxDB 3.x and retrieves client.

Parameters:

influxdb3_conn_id – Reference to InfluxDB 3 connection id.

conn_name_attr = 'influxdb3_conn_id'[source]
default_conn_name = 'influxdb3_default'[source]
conn_type = 'influxdb3'[source]
hook_name = 'InfluxDB 3'[source]
influxdb3_conn_id = 'influxdb3_default'[source]
connection[source]
client: Any = None[source]
extras: dict[str, Any][source]
uri: str | None = None[source]
classmethod get_connection_form_widgets()[source]

Return connection widgets to add to connection form.

get_client(uri, kwargs)[source]

Get InfluxDB 3.x client.

get_uri(conn)[source]

Build URI from connection parameters.

get_conn()[source]

Initiate a new InfluxDB 3.x connection with token and database.

Reads connection parameters from:

  • Custom form fields (token, database, org) - automatically stored in extras

  • Connection password field (as fallback for token)

  • Connection extras JSON (for manual configuration)

query(query)[source]

Run a SQL query and return results as a pandas DataFrame.

Parameters:

query (str) – SQL query string

Returns:

pandas DataFrame with query results

Return type:

pandas.DataFrame

write(measurement, tags=None, fields=None)[source]

Write a Point to the database.

Parameters:
  • measurement (str) – Measurement name

  • tags (dict[str, str] | None) – Dictionary of tags (key-value pairs)

  • fields (dict[str, Any] | None) – Dictionary of fields (key-value pairs)

hook.write(
    measurement="temperature",
    tags={"location": "Prague", "sensor": "A1"},
    fields={"value": 25.3, "unit": "Celsius"},
)

Was this entry helpful?