@@ -14161,6 +14161,96 @@ client authentication (which should raise an Exception).
14161
14161
Callback should accept the raised Exception as an argument.
14162
14162
Callback must resolve (or propagate/re-raise) the Exception.
14163
14163
14164
+ <a id="quixstreams.sources.community.influxdb3.influxdb3"></a>
14165
+
14166
+ ## quixstreams.sources.community.influxdb3.influxdb3
14167
+
14168
+ <a id="quixstreams.sources.community.influxdb3.influxdb3.InfluxDB3Source"></a>
14169
+
14170
+ ### InfluxDB3Source
14171
+
14172
+ ```python
14173
+ class InfluxDB3Source(Source)
14174
+ ```
14175
+
14176
+ [[VIEW SOURCE]](https://github.com/quixio/quix-streams/blob/main/quixstreams/sources/community/influxdb3/influxdb3.py#L79)
14177
+
14178
+ InfluxDB3Source extracts data from a specified set of measurements in a
14179
+ database (or all available ones if none are specified).
14180
+
14181
+ It processes measurements sequentially by gathering/producing a tumbling
14182
+ "time_delta"-sized window of data, starting from 'start_date' and eventually
14183
+ stopping at 'end_date', completing that measurement.
14184
+
14185
+ It then starts the next measurement, continuing until all are complete.
14186
+
14187
+ If no 'end_date' is provided, it will run indefinitely for a single
14188
+ measurement (which means no other measurements will be processed!).
14189
+
14190
+ <a id="quixstreams.sources.community.influxdb3.influxdb3.InfluxDB3Source.__init__"></a>
14191
+
14192
+ #### InfluxDB3Source.\_\_init\_\_
14193
+
14194
+ ```python
14195
+ def __init__(
14196
+ host: str,
14197
+ token: str,
14198
+ organization_id: str,
14199
+ database: str,
14200
+ key_setter: Optional[Callable[[object], object]] = None,
14201
+ timestamp_setter: Optional[Callable[[object], int]] = None,
14202
+ start_date: datetime = datetime.now(tz=timezone.utc),
14203
+ end_date: Optional[datetime] = None,
14204
+ measurements: Optional[Union[str, list[str]]] = None,
14205
+ measurement_column_name: str = "_measurement_name",
14206
+ sql_query: Optional[str] = None,
14207
+ time_delta: str = "5m",
14208
+ delay: float = 0,
14209
+ max_retries: int = 5,
14210
+ name: Optional[str] = None,
14211
+ shutdown_timeout: float = 10,
14212
+ on_client_connect_success: Optional[ClientConnectSuccessCallback] = None,
14213
+ on_client_connect_failure: Optional[ClientConnectFailureCallback] = None
14214
+ ) -> None
14215
+ ```
14216
+
14217
+ [[VIEW SOURCE]](https://github.com/quixio/quix-streams/blob/main/quixstreams/sources/community/influxdb3/influxdb3.py#L94)
14218
+
14219
+ **Arguments**:
14220
+
14221
+ - `host`: Host URL of the InfluxDB instance.
14222
+ - `token`: Authentication token for InfluxDB.
14223
+ - `organization_id`: Organization name in InfluxDB.
14224
+ - `database`: Database name in InfluxDB.
14225
+ - `key_setter`: sets the kafka message key for a measurement record.
14226
+ By default, will set the key to the measurement's name.
14227
+ - `timestamp_setter`: sets the kafka message timestamp for a measurement record.
14228
+ By default, the timestamp will be the Kafka default (Kafka produce time).
14229
+ - `start_date`: The start datetime for querying InfluxDB. Uses current time by default.
14230
+ - `end_date`: The end datetime for querying InfluxDB.
14231
+ If none provided, runs indefinitely for a single measurement.
14232
+ - `measurements`: The measurements to query. If None, all measurements will be processed.
14233
+ - `measurement_column_name`: The column name used for appending the measurement name to the record.
14234
+ - `sql_query`: Custom SQL query for retrieving data.
14235
+ Query expects a `{start_time}`, `{end_time}`, and `{measurement_name}` for later formatting.
14236
+ If provided, it overrides the default window-query logic.
14237
+ - `time_delta`: Time interval for batching queries, e.g., "5m" for 5 minutes.
14238
+ - `delay`: An optional delay between producing batches.
14239
+ - `name`: A unique name for the Source, used as part of the topic name.
14240
+ - `shutdown_timeout`: Time in seconds to wait for graceful shutdown.
14241
+ - `max_retries`: Maximum number of retries for querying or producing.
14242
+ Note that consecutive retries have a multiplicative backoff.
14243
+ - `on_client_connect_success`: An optional callback made after successful
14244
+ client authentication, primarily for additional logging.
14245
+ - `on_client_connect_failure`: An optional callback made after failed
14246
+ client authentication (which should raise an Exception).
14247
+ Callback should accept the raised Exception as an argument.
14248
+ Callback must resolve (or propagate/re-raise) the Exception.
14249
+
14250
+ <a id="quixstreams.sources.community.influxdb3"></a>
14251
+
14252
+ ## quixstreams.sources.community.influxdb3
14253
+
14164
14254
<a id="quixstreams.sources.base"></a>
14165
14255
14166
14256
## quixstreams.sources.base
0 commit comments