Package com.influxdb.client
Interface InfluxQLQueryApi
- All Known Implementing Classes:
InfluxQLQueryApiImpl
@ThreadSafe
public interface InfluxQLQueryApi
The
For more information, see:
InfluxQL
can be used with /query compatibility
endpoint which uses the
database
and
retention policy
specified in the query request to
map the request to an InfluxDB bucket.
For more information, see:
-
Method Summary
Modifier and TypeMethodDescriptionquery
(InfluxQLQuery influxQlQuery) Executes an InfluxQL query against the legacy endpoint.query
(InfluxQLQuery influxQlQuery, InfluxQLQueryResult.Series.ValueExtractor valueExtractor) Executes an InfluxQL query against the legacy endpoint.
-
Method Details
-
query
Executes an InfluxQL query against the legacy endpoint.- Parameters:
influxQlQuery
- the query- Returns:
- the result
-
query
@Nonnull InfluxQLQueryResult query(@Nonnull InfluxQLQuery influxQlQuery, @Nullable InfluxQLQueryResult.Series.ValueExtractor valueExtractor) Executes an InfluxQL query against the legacy endpoint. The value extractor is called for each resulting column to convert the string value returned by query into a custom type.Example:
InfluxQLQueryResult result = influxQLQueryApi.query( new InfluxQLQuery("SELECT FIRST(\"free\") FROM \"influxql\"", DATABASE_NAME) .setPrecision(InfluxQLQuery.InfluxQLPrecision.SECONDS), (columnName, rawValue, resultIndex, seriesName) -> { switch (columnName) { case "time": return Instant.ofEpochSecond(Long.parseLong(rawValue)); case "first": return new BigDecimal(rawValue); default: throw new IllegalArgumentException("unexpected column " + columnName); } } );
- Parameters:
influxQlQuery
- the queryvalueExtractor
- a callback, to convert column values- Returns:
- the result
-