Class WriteOptions

java.lang.Object
com.influxdb.v3.client.write.WriteOptions

@ThreadSafe public final class WriteOptions extends Object
Write options.

Supports to specify:

  • database - specifies the database to be used for InfluxDB operations
  • organization - specifies the organization to be used for InfluxDB operations
  • precision - specifies the precision to use for the timestamp of points
  • defaultTags - specifies tags to be added by default to all write operations using points.
  • headers - specifies the headers to be added to write request

To add custom headers to the write request, use the following code:

 WriteOptions options = new WriteOptions(Map.of("X-Tracing-Id", "123"));
 client.writeRecord(options, point);
 
  • Field Details

    • DEFAULT_WRITE_PRECISION

      public static final WritePrecision DEFAULT_WRITE_PRECISION
      Default WritePrecision.
    • DEFAULT_GZIP_THRESHOLD

      public static final Integer DEFAULT_GZIP_THRESHOLD
      Default GZIP threshold.
    • DEFAULTS

      public static final WriteOptions DEFAULTS
      Default WriteOptions.
  • Constructor Details

    • WriteOptions

      public WriteOptions(@Nullable String database, @Nullable WritePrecision precision, @Nullable Integer gzipThreshold)
      Construct WriteAPI options.
      Parameters:
      database - The database to be used for InfluxDB operations. If it is not specified then use ClientConfig.getDatabase().
      precision - The precision to use for the timestamp of points. If it is not specified then use ClientConfig.getWritePrecision().
      gzipThreshold - The threshold for compressing request body. If it is not specified then use DEFAULT_GZIP_THRESHOLD.
    • WriteOptions

      public WriteOptions(@Nullable String database, @Nullable WritePrecision precision, @Nullable Integer gzipThreshold, @Nullable Map<String,String> defaultTags)
      Construct WriteAPI options.
      Parameters:
      database - The database to be used for InfluxDB operations. If it is not specified then use ClientConfig.getDatabase().
      precision - The precision to use for the timestamp of points. If it is not specified then use ClientConfig.getWritePrecision().
      gzipThreshold - The threshold for compressing request body. If it is not specified then use DEFAULT_GZIP_THRESHOLD.
      defaultTags - Default tags to be added when writing points.
    • WriteOptions

      public WriteOptions(@Nullable Map<String,String> headers)
      Construct WriteAPI options.
      Parameters:
      headers - The headers to be added to write request. The headers specified here are preferred over the headers specified in the client configuration.
    • WriteOptions

      public WriteOptions(@Nullable String database, @Nullable WritePrecision precision, @Nullable Integer gzipThreshold, @Nullable Map<String,String> defaultTags, @Nullable Map<String,String> headers)
      Construct WriteAPI options.
      Parameters:
      database - The database to be used for InfluxDB operations. If it is not specified then use ClientConfig.getDatabase().
      precision - The precision to use for the timestamp of points. If it is not specified then use ClientConfig.getWritePrecision().
      gzipThreshold - The threshold for compressing request body. If it is not specified then use DEFAULT_GZIP_THRESHOLD.
      defaultTags - Default tags to be added when writing points.
      headers - The headers to be added to write request. The headers specified here are preferred over the headers specified in the client configuration.
  • Method Details

    • databaseSafe

      @Nullable public String databaseSafe(@Nonnull ClientConfig config)
      Parameters:
      config - with default value
      Returns:
      The destination database for writes.
    • precisionSafe

      @Nonnull public WritePrecision precisionSafe(@Nonnull ClientConfig config)
      Parameters:
      config - with default value
      Returns:
      Precision for unix timestamps in the line protocol of the request payload.
    • defaultTagsSafe

      @Nonnull public Map<String,String> defaultTagsSafe(@Nonnull ClientConfig config)
      Parameters:
      config - with/without defaultTags defined
      Returns:
      defaultTags - can be an empty map if none are defined.
    • gzipThresholdSafe

      @Nonnull public Integer gzipThresholdSafe(@Nonnull ClientConfig config)
      Parameters:
      config - with default value
      Returns:
      Payload size threshold for compressing it.
    • headersSafe

      @Nonnull public Map<String,String> headersSafe()
      Returns:
      The headers to be added to write request.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object