Package com.influxdb.v3.client
Interface InfluxDBClient
-
- All Superinterfaces:
AutoCloseable
- All Known Implementing Classes:
InfluxDBClientImpl
public interface InfluxDBClient extends AutoCloseable
The InfluxDBClient interface provides a client for interact with InfluxDB 3. This client supports both writing data to InfluxDB and querying data using the FlightSQL client, which allows you to execute SQL queries against InfluxDB IOx.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static InfluxDBClient
getInstance(ClientConfig config)
Creates a new instance of theInfluxDBClient
for interacting with an InfluxDB server, simplifying common operations such as writing, querying.static InfluxDBClient
getInstance(String host, char[] token, String database)
Creates a new instance of theInfluxDBClient
for interacting with an InfluxDB server, simplifying common operations such as writing, querying.Stream<Object[]>
query(String query)
Query data from InfluxDB IOx using FlightSQL.Stream<Object[]>
query(String query, QueryOptions options)
Query data from InfluxDB IOx using FlightSQL.Stream<org.apache.arrow.vector.VectorSchemaRoot>
queryBatches(String query)
Query data from InfluxDB IOx using FlightSQL.Stream<org.apache.arrow.vector.VectorSchemaRoot>
queryBatches(String query, QueryOptions options)
Query data from InfluxDB IOx using FlightSQL.void
writePoint(Point point)
Write aPoint
to the InfluxDB server.void
writePoint(Point point, WriteOptions options)
Write aPoint
to the InfluxDB server.void
writePoints(List<Point> points)
Write a list ofPoint
to the InfluxDB server.void
writePoints(List<Point> points, WriteOptions options)
Write a list ofPoint
to the InfluxDB server.void
writeRecord(String record)
Write a record specified in the InfluxDB Line Protocol to the InfluxDB server.void
writeRecord(String record, WriteOptions options)
Write a record specified in the InfluxDB Line Protocol to the InfluxDB server.void
writeRecords(List<String> records)
Write records specified in the InfluxDB Line Protocol to the InfluxDB server.void
writeRecords(List<String> records, WriteOptions options)
Write records specified in the InfluxDB Line Protocol to the InfluxDB server.-
Methods inherited from interface java.lang.AutoCloseable
close
-
-
-
-
Method Detail
-
writeRecord
void writeRecord(@Nullable String record)
Write a record specified in the InfluxDB Line Protocol to the InfluxDB server.- Parameters:
record
- the record specified in the InfluxDB Line Protocol, can be null
-
writeRecord
void writeRecord(@Nullable String record, @Nonnull WriteOptions options)
Write a record specified in the InfluxDB Line Protocol to the InfluxDB server.- Parameters:
record
- the record specified in the InfluxDB Line Protocol, can be nulloptions
- the options for writing data to InfluxDB
-
writeRecords
void writeRecords(@Nonnull List<String> records)
Write records specified in the InfluxDB Line Protocol to the InfluxDB server.- Parameters:
records
- the records specified in the InfluxDB Line Protocol, cannot be null
-
writeRecords
void writeRecords(@Nonnull List<String> records, @Nonnull WriteOptions options)
Write records specified in the InfluxDB Line Protocol to the InfluxDB server.- Parameters:
records
- the records specified in the InfluxDB Line Protocol, cannot be nulloptions
- the options for writing data to InfluxDB
-
writePoint
void writePoint(@Nullable Point point)
Write aPoint
to the InfluxDB server.- Parameters:
point
- thePoint
to write, can be null
-
writePoint
void writePoint(@Nullable Point point, @Nonnull WriteOptions options)
Write aPoint
to the InfluxDB server.- Parameters:
point
- thePoint
to write, can be nulloptions
- the options for writing data to InfluxDB
-
writePoints
void writePoints(@Nonnull List<Point> points)
Write a list ofPoint
to the InfluxDB server.- Parameters:
points
- the list ofPoint
to write, cannot be null
-
writePoints
void writePoints(@Nonnull List<Point> points, @Nonnull WriteOptions options)
Write a list ofPoint
to the InfluxDB server.- Parameters:
points
- the list ofPoint
to write, cannot be nulloptions
- the options for writing data to InfluxDB
-
query
@Nonnull Stream<Object[]> query(@Nonnull String query)
Query data from InfluxDB IOx using FlightSQL.The result stream should be closed after use, you can use try-resource pattern to close it automatically:
try (Stream<Object[]> rows = client.query("select * from cpu")) { rows.forEach(row -> { // process row } });
- Parameters:
query
- the SQL query string to execute, cannot be null- Returns:
- Batches of rows returned by the query
-
query
@Nonnull Stream<Object[]> query(@Nonnull String query, @Nonnull QueryOptions options)
Query data from InfluxDB IOx using FlightSQL.The result stream should be closed after use, you can use try-resource pattern to close it automatically:
try (Stream<Object[]> rows = client.query("select * from cpu", options)) { rows.forEach(row -> { // process row } });
- Parameters:
query
- the SQL query string to execute, cannot be nulloptions
- the options for querying data from InfluxDB- Returns:
- Batches of rows returned by the query
-
queryBatches
@Nonnull Stream<org.apache.arrow.vector.VectorSchemaRoot> queryBatches(@Nonnull String query)
Query data from InfluxDB IOx using FlightSQL.The result stream should be closed after use, you can use try-resource pattern to close it automatically:
try (Stream<VectorSchemaRoot> batches = client.queryBatches("select * from cpu")) { batches.forEach(batch -> { // process batch } });
- Parameters:
query
- the SQL query string to execute, cannot be null- Returns:
- Batches of rows returned by the query
-
queryBatches
@Nonnull Stream<org.apache.arrow.vector.VectorSchemaRoot> queryBatches(@Nonnull String query, @Nonnull QueryOptions options)
Query data from InfluxDB IOx using FlightSQL.try (Stream<VectorSchemaRoot> batches = client.queryBatches("select * from cpu", options)) { batches.forEach(batch -> { // process batch } });
- Parameters:
query
- the SQL query string to execute, cannot be nulloptions
- the options for querying data from InfluxDB- Returns:
- Batches of rows returned by the query
-
getInstance
@Nonnull static InfluxDBClient getInstance(@Nonnull String host, @Nullable char[] token, @Nullable String database)
Creates a new instance of theInfluxDBClient
for interacting with an InfluxDB server, simplifying common operations such as writing, querying.- Parameters:
host
- the URL of the InfluxDB servertoken
- the authentication token for accessing the InfluxDB server, can be nulldatabase
- the database to be used for InfluxDB operations, can be null- Returns:
- new instance of the
InfluxDBClient
-
getInstance
@Nonnull static InfluxDBClient getInstance(@Nonnull ClientConfig config)
Creates a new instance of theInfluxDBClient
for interacting with an InfluxDB server, simplifying common operations such as writing, querying. For possible configuration options seeClientConfig
.- Parameters:
config
- the configuration for the InfluxDB client- Returns:
- new instance of the
InfluxDBClient
-
-