Interface InfluxDBClient
- All Superinterfaces:
AutoCloseable
- All Known Implementing Classes:
InfluxDBClientImpl
-
Method Summary
Modifier and TypeMethodDescriptionstatic InfluxDBClient
Creates a new instance of theInfluxDBClient
from environment variables and/or system properties.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 connectionString) Creates a new instance of theInfluxDBClient
from the connection string in URL format.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.static InfluxDBClient
Creates a new instance of theInfluxDBClient
for interacting with an InfluxDB server, simplifying common operations such as writing, querying.Query data from InfluxDB IOx using FlightSQL.query
(String query, QueryOptions options) Query data from InfluxDB IOx using FlightSQL.Query data from InfluxDB IOx using FlightSQL.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.Stream<org.apache.arrow.vector.VectorSchemaRoot>
queryBatches
(String query, Map<String, Object> parameters) Query data from InfluxDB IOx using FlightSQL.Stream<org.apache.arrow.vector.VectorSchemaRoot>
queryBatches
(String query, Map<String, Object> parameters, QueryOptions options) Query data from InfluxDB IOx using FlightSQL.queryPoints
(String query) Query data from InfluxDB IOx into Point structure using FlightSQL.queryPoints
(String query, QueryOptions options) Query data from InfluxDB IOx into Point structure using FlightSQL.queryPoints
(String query, Map<String, Object> parameters) Query data from InfluxDB IOx into Point structure using FlightSQL.queryPoints
(String query, Map<String, Object> parameters, QueryOptions options) Query data from InfluxDB IOx into Point structure 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 Details
-
writeRecord
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
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
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
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
Write aPoint
to the InfluxDB server.- Parameters:
point
- thePoint
to write, can be null
-
writePoint
Write aPoint
to the InfluxDB server.- Parameters:
point
- thePoint
to write, can be nulloptions
- the options for writing data to InfluxDB
-
writePoints
Write a list ofPoint
to the InfluxDB server.- Parameters:
points
- the list ofPoint
to write, cannot be null
-
writePoints
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
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
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 where host=$host", Map.of("host", "server-a")) { rows.forEach(row -> { // process row } });
- Parameters:
query
- the SQL query string to execute, cannot be nullparameters
- query named parameters- Returns:
- Batches of rows returned by the query
-
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", options)) { rows.forEach(row -> { // process row } });
- Parameters:
query
- the query string to execute, cannot be nulloptions
- the options for querying data from InfluxDB- Returns:
- Batches of rows returned by the query
-
query
@Nonnull Stream<Object[]> query(@Nonnull String query, @Nonnull Map<String, Object> parameters, @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 where host=$host", Map.of("host", "server-a"), options)) { rows.forEach(row -> { // process row } });
- Parameters:
query
- the query string to execute, cannot be nullparameters
- query named parametersoptions
- the options for querying data from InfluxDB- Returns:
- Batches of rows returned by the query
-
queryPoints
Query data from InfluxDB IOx into Point structure using FlightSQL.The result stream should be closed after use, you can use try-resource pattern to close it automatically:
try (Stream<PointValues> rows = client.queryPoints("select * from cpu", options)) { rows.forEach(row -> { // process row } });
- Parameters:
query
- the SQL query string to execute, cannot be null- Returns:
- Batches of PointValues returned by the query
-
queryPoints
@Nonnull Stream<PointValues> queryPoints(@Nonnull String query, @Nonnull Map<String, Object> parameters) Query data from InfluxDB IOx into Point structure using FlightSQL.The result stream should be closed after use, you can use try-resource pattern to close it automatically:
try (Stream<PointValues> rows = client.queryPoints("select * from cpu where host=$host", Map.of("host", "server-a"))) { rows.forEach(row -> { // process row } });
- Parameters:
query
- the SQL query string to execute, cannot be nullparameters
- query named parameters- Returns:
- Batches of PointValues returned by the query
-
queryPoints
Query data from InfluxDB IOx into Point structure using FlightSQL.The result stream should be closed after use, you can use try-resource pattern to close it automatically:
try (Stream<PointValues> rows = client.queryPoints("select * from cpu", options)) { rows.forEach(row -> { // process row } });
- Parameters:
query
- the query string to execute, cannot be nulloptions
- the options for querying data from InfluxDB- Returns:
- Batches of PointValues returned by the query
-
queryPoints
@Nonnull Stream<PointValues> queryPoints(@Nonnull String query, @Nonnull Map<String, Object> parameters, @Nonnull QueryOptions options) Query data from InfluxDB IOx into Point structure using FlightSQL.The result stream should be closed after use, you can use try-resource pattern to close it automatically:
try (Stream<PointValues> rows = client.queryPoints("select * from cpu where host=$host", Map.of("host", "server-a"), options)) { rows.forEach(row -> { // process row } });
- Parameters:
query
- the query string to execute, cannot be nullparameters
- query named parametersoptions
- the options for querying data from InfluxDB- Returns:
- Batches of PointValues returned by the query
-
queryBatches
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 Map<String, Object> parameters) 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 where host=$host", Map.of("host", "server-a"))) { batches.forEach(batch -> { // process batch } });
- Parameters:
query
- the SQL query string to execute, cannot be nullparameters
- query named parameters- 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 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, @Nonnull Map<String, Object> parameters, @Nonnull QueryOptions options) Query data from InfluxDB IOx using FlightSQL.try (Stream<VectorSchemaRoot> batches = client.queryBatches("select * from cpu where host=$host", Map.of("host", "server-a"), options)) { batches.forEach(batch -> { // process batch } });
- Parameters:
query
- the query string to execute, cannot be nullparameters
- query named parametersoptions
- 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 String host, @Nullable char[] token, @Nullable String database, @Nullable Map<String, String> defaultTags) 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 nulldefaultTags
- tags to be added by default to writes of points- Returns:
- new instance of the
InfluxDBClient
-
getInstance
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
-
getInstance
Creates a new instance of theInfluxDBClient
from the connection string in URL format.Example:
client = InfluxDBClient.getInstance("https://us-east-1-1.aws.cloud2.influxdata.com/" + "?token=my-token&database=my-database");
Supported parameters:
- token - authentication token (required)
- org - organization name
- database - database (bucket) name
- precision - timestamp precision when writing data
- gzipThreshold - payload size size for gzipping data
- Parameters:
connectionString
- connection string- Returns:
- instance of
InfluxDBClient
-
getInstance
Creates a new instance of theInfluxDBClient
from environment variables and/or system properties. Environment variables take precedence over system properties.Example:
client = InfluxDBClient.getInstance();
Supported environment variables:
- INFLUX_HOST - cloud/server URL required
- INFLUX_TOKEN - authentication token required
- INFLUX_AUTH_SCHEME - authentication scheme
- INFLUX_ORG - organization name
- INFLUX_DATABASE - database (bucket) name
- INFLUX_PRECISION - timestamp precision when writing data
- INFLUX_GZIP_THRESHOLD - payload size size for gzipping data
- influx.host - cloud/server URL required
- influx.token - authentication token required
- influx.authScheme - authentication scheme
- influx.org - organization name
- influx.database - database (bucket) name
- influx.precision - timestamp precision when writing data
- influx.gzipThreshold - payload size size for gzipping data
- Returns:
- instance of
InfluxDBClient
-