Interface WriteApi

All Superinterfaces:
AutoCloseable

@ThreadSafe public interface WriteApi extends AutoCloseable
The asynchronous non-blocking API to Write time-series data into InfluxDB 2.x.

The data are formatted in Line Protocol.

The WriteApi uses background thread to ingesting data into InfluxDB and is suppose to run as a singleton.

Author:
Jakub Bednar (bednar@github) (20/09/2018 10:58)
  • Method Details

    • writeRecord

      void writeRecord(@Nonnull WritePrecision precision, @Nullable String record)
      Write Line Protocol record into specified bucket.

      The InfluxDBClientOptions.getBucket() will be use as destination bucket and InfluxDBClientOptions.getOrg() will be used as destination organization.

      Parameters:
      precision - specifies the precision for the unix timestamps within the body line-protocol (optional)
      record - specifies the record in InfluxDB Line Protocol. The record is considered as one batch unit.
    • writeRecord

      void writeRecord(@Nonnull String bucket, @Nonnull String org, @Nonnull WritePrecision precision, @Nullable String record)
      Write Line Protocol record into specified bucket.
      Parameters:
      bucket - specifies the destination bucket for writes
      org - specifies the destination organization for writes
      precision - specifies the precision for the unix timestamps within the body line-protocol (optional)
      record - specifies the record in InfluxDB Line Protocol. The record is considered as one batch unit.
    • writeRecord

      void writeRecord(@Nullable String record, @Nonnull WriteParameters parameters)
      Write Line Protocol record into specified bucket.
      Parameters:
      record - specifies the record in InfluxDB Line Protocol. The record is considered as one batch unit.
      parameters - specify InfluxDB Write endpoint parameters
    • writeRecords

      void writeRecords(@Nonnull WritePrecision precision, @Nonnull List<String> records)
      Write Line Protocol records into specified bucket.

      The InfluxDBClientOptions.getBucket() will be use as destination bucket and InfluxDBClientOptions.getOrg() will be used as destination organization.

      Parameters:
      precision - specifies the precision for the unix timestamps within the body line-protocol (optional)
      records - specifies the records in InfluxDB Line Protocol
    • writeRecords

      void writeRecords(@Nonnull String bucket, @Nonnull String org, @Nonnull WritePrecision precision, @Nonnull List<String> records)
      Write Line Protocol records into specified bucket.
      Parameters:
      bucket - specifies the destination bucket for writes
      org - specifies the destination organization for writes
      precision - specifies the precision for the unix timestamps within the body line-protocol (optional)
      records - specifies the records in InfluxDB Line Protocol
    • writeRecords

      void writeRecords(@Nonnull List<String> records, @Nonnull WriteParameters parameters)
      Write Line Protocol records into specified bucket.
      Parameters:
      records - specifies the records in InfluxDB Line Protocol
      parameters - specify InfluxDB Write endpoint parameters
    • writePoint

      void writePoint(@Nullable Point point)
      Write Data point into specified bucket.

      The InfluxDBClientOptions.getBucket() will be use as destination bucket and InfluxDBClientOptions.getOrg() will be used as destination organization.

      Parameters:
      point - specifies the Data point to write into bucket
    • writePoint

      void writePoint(@Nonnull String bucket, @Nonnull String org, @Nullable Point point)
      Write Data point into specified bucket.
      Parameters:
      bucket - specifies the destination bucket for writes
      org - specifies the destination organization for writes
      point - specifies the Data point to write into bucket
    • writePoint

      void writePoint(@Nullable Point point, @Nonnull WriteParameters parameters)
      Write Data point into specified bucket.
      Parameters:
      point - specifies the Data point to write into bucket
      parameters - specify InfluxDB Write endpoint parameters
    • writePoints

      void writePoints(@Nonnull List<Point> points)
      Write Data points into specified bucket.

      The InfluxDBClientOptions.getBucket() will be use as destination bucket and InfluxDBClientOptions.getOrg() will be used as destination organization.

      Parameters:
      points - specifies the Data points to write into bucket
    • writePoints

      void writePoints(@Nonnull String bucket, @Nonnull String org, @Nonnull List<Point> points)
      Write Data points into specified bucket.
      Parameters:
      bucket - specifies the destination bucket ID for writes
      org - specifies the destination organization ID for writes
      points - specifies the Data points to write into bucket
    • writePoints

      void writePoints(@Nonnull List<Point> points, @Nonnull WriteParameters parameters)
      Write Data points into specified bucket.
      Parameters:
      points - specifies the Data points to write into bucket
      parameters - specify InfluxDB Write endpoint parameters
    • writeMeasurement

      <M> void writeMeasurement(@Nonnull WritePrecision precision, @Nullable M measurement)
      Write Measurement into specified bucket.

      The InfluxDBClientOptions.getBucket() will be use as destination bucket and InfluxDBClientOptions.getOrg() will be used as destination organization.

      Type Parameters:
      M - measurement type
      Parameters:
      precision - specifies the precision for the unix timestamps within the body line-protocol (optional)
      measurement - specifies the Measurement to write into bucket
    • writeMeasurement

      <M> void writeMeasurement(@Nonnull String bucket, @Nonnull String org, @Nonnull WritePrecision precision, @Nullable M measurement)
      Write Measurement into specified bucket.
      Type Parameters:
      M - measurement type
      Parameters:
      bucket - specifies the destination bucket for writes
      org - specifies the destination organization for writes
      precision - specifies the precision for the unix timestamps within the body line-protocol (optional)
      measurement - specifies the Measurement to write into bucket
    • writeMeasurement

      <M> void writeMeasurement(@Nullable M measurement, @Nonnull WriteParameters parameters)
      Write Measurement into specified bucket.
      Type Parameters:
      M - measurement type
      Parameters:
      measurement - specifies the Measurement to write into bucket
      parameters - specify InfluxDB Write endpoint parameters
    • writeMeasurements

      <M> void writeMeasurements(@Nonnull WritePrecision precision, @Nonnull List<M> measurements)
      Write Measurements into specified bucket.

      The InfluxDBClientOptions.getBucket() will be use as destination bucket and InfluxDBClientOptions.getOrg() will be used as destination organization.

      Type Parameters:
      M - measurement type
      Parameters:
      precision - specifies the precision for the unix timestamps within the body line-protocol (optional)
      measurements - specifies the Measurements to write into bucket
    • writeMeasurements

      <M> void writeMeasurements(@Nonnull String bucket, @Nonnull String org, @Nonnull WritePrecision precision, @Nonnull List<M> measurements)
      Write Measurements into specified bucket.
      Type Parameters:
      M - measurement type
      Parameters:
      bucket - specifies the destination bucket for writes
      org - specifies the destination organization for writes
      precision - specifies the precision for the unix timestamps within the body line-protocol (optional)
      measurements - specifies the Measurements to write into bucket
    • writeMeasurements

      <M> void writeMeasurements(@Nonnull List<M> measurements, @Nonnull WriteParameters parameters)
      Write Measurements into specified bucket.
      Type Parameters:
      M - measurement type
      Parameters:
      measurements - specifies the Measurements to write into bucket
      parameters - specify InfluxDB Write endpoint parameters
    • listenEvents

      @Nonnull <T extends AbstractWriteEvent> ListenerRegistration listenEvents(@Nonnull Class<T> eventType, @Nonnull EventListener<T> listener)
      Type Parameters:
      T - type of event to listen
      Parameters:
      eventType - type of event to listen
      listener - the listener to listen events
      Returns:
      lister for eventType events
    • flush

      void flush()
      Forces the client to flush all pending writes from the buffer toInfluxDB 2.x via HTTP.
    • close

      void close()
      Close threads for asynchronous batch writing.
      Specified by:
      close in interface AutoCloseable