Package com.influxdb.v3.client.write
Class WriteOptions
java.lang.Object
com.influxdb.v3.client.write.WriteOptions
Write options.
Supports to specify:
database- specifies the database to be used for InfluxDB operationsorganization- specifies the organization to be used for InfluxDB operationsprecision- specifies the precision to use for timestamps in line protocol records. This setting is ignored when writingPoint; for those writes, the client always sendsWritePrecision.NSprecision to the server.defaultTags- specifies tags to be added by default to all write operations using points.tagOrder- specifies preferred tag order for point serialization.noSync- skip waiting for WAL persistence on writeacceptPartial- accept partial writes on the V3 API endpointuseV2Api- route writes to the V2 API endpointheaders- 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);
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA builder forWriteOptions. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final booleanDefault AcceptPartial.static final IntegerDefault GZIP threshold.static final booleanDefault NoSync.static final booleanDefault UseV2Api.static final WritePrecisionDefault WritePrecision.static final intDefault timeout for writes in seconds.static final WriteOptionsDeprecated, for removal: This API element is subject to removal in a future version. -
Constructor Summary
ConstructorsConstructorDescriptionWriteOptions(String database, WritePrecision precision, Integer gzipThreshold) Construct WriteAPI options.WriteOptions(String database, WritePrecision precision, Integer gzipThreshold, Boolean noSync) Construct WriteAPI options.WriteOptions(String database, WritePrecision precision, Integer gzipThreshold, Boolean noSync, Boolean acceptPartial, Boolean useV2Api, Map<String, String> defaultTags, Map<String, String> headers, List<String> tagOrder) Construct WriteAPI options.WriteOptions(String database, WritePrecision precision, Integer gzipThreshold, Boolean noSync, Boolean acceptPartial, Map<String, String> defaultTags, Map<String, String> headers, List<String> tagOrder) Construct WriteAPI options.WriteOptions(String database, WritePrecision precision, Integer gzipThreshold, Boolean noSync, Map<String, String> defaultTags, Map<String, String> headers) Construct WriteAPI options.WriteOptions(String database, WritePrecision precision, Integer gzipThreshold, Boolean noSync, Map<String, String> defaultTags, Map<String, String> headers, List<String> tagOrder) Construct WriteAPI options.WriteOptions(String database, WritePrecision precision, Integer gzipThreshold, Map<String, String> defaultTags) Construct WriteAPI options.WriteOptions(String database, WritePrecision precision, Integer gzipThreshold, Map<String, String> defaultTags, Map<String, String> headers) Construct WriteAPI options.WriteOptions(Map<String, String> headers) Construct WriteAPI options. -
Method Summary
Modifier and TypeMethodDescriptionbooleanacceptPartialSafe(ClientConfig config) databaseSafe(ClientConfig config) defaultTagsSafe(ClientConfig config) static WriteOptionsCreates a default instance ofWriteOptionsconfigured with standard values.booleangzipThresholdSafe(ClientConfig config) inthashCode()booleannoSyncSafe(ClientConfig config) precisionSafe(ClientConfig config) booleanuseV2ApiSafe(ClientConfig config) voidvalidate(ClientConfig config) Validate write option combinations.
-
Field Details
-
DEFAULT_WRITE_PRECISION
Default WritePrecision. -
DEFAULT_GZIP_THRESHOLD
Default GZIP threshold. -
DEFAULT_NO_SYNC
public static final boolean DEFAULT_NO_SYNCDefault NoSync.- See Also:
-
DEFAULT_ACCEPT_PARTIAL
public static final boolean DEFAULT_ACCEPT_PARTIALDefault AcceptPartial.- See Also:
-
DEFAULT_USE_V2_API
public static final boolean DEFAULT_USE_V2_APIDefault UseV2Api.- See Also:
-
DEFAULT_WRITE_TIMEOUT
public static final int DEFAULT_WRITE_TIMEOUTDefault timeout for writes in seconds. Set to 10- See Also:
-
DEFAULTS
Deprecated, for removal: This API element is subject to removal in a future version.Default WriteOptions. Deprecated usedefaultWriteOptions()instead
-
-
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 useClientConfig.getDatabase().precision- The precision to use for the timestamp. If it is not specified then useClientConfig.getWritePrecision(). This setting is ignored when writingPoint; for those writes, the client always sendsWritePrecision.NSprecision to the server.gzipThreshold- The threshold for compressing request body. If it is not specified then useDEFAULT_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 useClientConfig.getDatabase().precision- The precision to use for the timestamp. If it is not specified then useClientConfig.getWritePrecision(). This setting is ignored when writingPoint; for those writes, the client always sendsWritePrecision.NSprecision to the server.gzipThreshold- The threshold for compressing request body. If it is not specified then useDEFAULT_GZIP_THRESHOLD.defaultTags- Default tags to be added when writing points.
-
WriteOptions
public WriteOptions(@Nullable String database, @Nullable WritePrecision precision, @Nullable Integer gzipThreshold, @Nullable Boolean noSync) Construct WriteAPI options.- Parameters:
database- The database to be used for InfluxDB operations. If it is not specified then useClientConfig.getDatabase().precision- The precision to use for the timestamp. If it is not specified then useClientConfig.getWritePrecision(). This setting is ignored when writingPoint; for those writes, the client always sendsWritePrecision.NSprecision to the server.gzipThreshold- The threshold for compressing request body. If it is not specified then useDEFAULT_GZIP_THRESHOLD.noSync- Skip waiting for WAL persistence on write. If it is not specified then useDEFAULT_NO_SYNC.
-
WriteOptions
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 useClientConfig.getDatabase().precision- The precision to use for the timestamp. If it is not specified then useClientConfig.getWritePrecision(). This setting is ignored when writingPoint; for those writes, the client always sendsWritePrecision.NSprecision to the server.gzipThreshold- The threshold for compressing request body. If it is not specified then useDEFAULT_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.
-
WriteOptions
public WriteOptions(@Nullable String database, @Nullable WritePrecision precision, @Nullable Integer gzipThreshold, @Nullable Boolean noSync, @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 useClientConfig.getDatabase().precision- The precision to use for the timestamp. If it is not specified then useClientConfig.getWritePrecision(). This setting is ignored when writingPoint; for those writes, the client always sendsWritePrecision.NSprecision to the server.gzipThreshold- The threshold for compressing request body. If it is not specified then useDEFAULT_GZIP_THRESHOLD.noSync- Skip waiting for WAL persistence on write. If it is not specified then useDEFAULT_NO_SYNC.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.
-
WriteOptions
public WriteOptions(@Nullable String database, @Nullable WritePrecision precision, @Nullable Integer gzipThreshold, @Nullable Boolean noSync, @Nullable Boolean acceptPartial, @Nullable Map<String, String> defaultTags, @Nullable Map<String, String> headers, @Nullable List<String> tagOrder) Construct WriteAPI options.- Parameters:
database- The database to be used for InfluxDB operations. If it is not specified then useClientConfig.getDatabase().precision- The precision to use for the timestamp. If it is not specified then useClientConfig.getWritePrecision(). This setting is ignored when writingPoint; for those writes, the client always sendsWritePrecision.NSprecision to the server.gzipThreshold- The threshold for compressing request body. If it is not specified then useDEFAULT_GZIP_THRESHOLD.noSync- Skip waiting for WAL persistence on write. If it is not specified then useDEFAULT_NO_SYNC.acceptPartial- Request partial write acceptance. If it is not specified then useDEFAULT_ACCEPT_PARTIAL.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.tagOrder- Preferred order of tags in line protocol serialization. Null or empty tag names are ignored.
-
WriteOptions
public WriteOptions(@Nullable String database, @Nullable WritePrecision precision, @Nullable Integer gzipThreshold, @Nullable Boolean noSync, @Nullable Boolean acceptPartial, @Nullable Boolean useV2Api, @Nullable Map<String, String> defaultTags, @Nullable Map<String, String> headers, @Nullable List<String> tagOrder) Construct WriteAPI options.- Parameters:
database- The database to be used for InfluxDB operations. If it is not specified then useClientConfig.getDatabase().precision- The precision to use for the timestamp. If it is not specified then useClientConfig.getWritePrecision(). This setting is ignored when writingPoint; for those writes, the client always sendsWritePrecision.NSprecision to the server.gzipThreshold- The threshold for compressing request body. If it is not specified then useDEFAULT_GZIP_THRESHOLD.noSync- Skip waiting for WAL persistence on write. If it is not specified then useDEFAULT_NO_SYNC.acceptPartial- Request partial write acceptance. If it is not specified then useDEFAULT_ACCEPT_PARTIAL.useV2Api- Use V2 API endpoint. If it is not specified then useDEFAULT_USE_V2_API.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.tagOrder- Preferred order of tags in line protocol serialization. Null or empty tag names are ignored.
-
WriteOptions
public WriteOptions(@Nullable String database, @Nullable WritePrecision precision, @Nullable Integer gzipThreshold, @Nullable Boolean noSync, @Nullable Map<String, String> defaultTags, @Nullable Map<String, String> headers, @Nullable List<String> tagOrder) Construct WriteAPI options.- Parameters:
database- The database to be used for InfluxDB operations. If it is not specified then useClientConfig.getDatabase().precision- The precision to use for the timestamp. If it is not specified then useClientConfig.getWritePrecision(). This setting is ignored when writingPoint; for those writes, the client always sendsWritePrecision.NSprecision to the server.gzipThreshold- The threshold for compressing request body. If it is not specified then useDEFAULT_GZIP_THRESHOLD.noSync- Skip waiting for WAL persistence on write. If it is not specified then useDEFAULT_NO_SYNC.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.tagOrder- Preferred order of tags in line protocol serialization. Null or empty tag names are ignored.
-
-
Method Details
-
defaultWriteOptions
Creates a default instance ofWriteOptionsconfigured with standard values.- Returns:
- A
WriteOptionsobject with the default settings for write precision, compression threshold, and no specified database.
-
databaseSafe
- Parameters:
config- with default value- Returns:
- The destination database for writes.
-
precisionSafe
- Parameters:
config- with default value- Returns:
- Precision for unix timestamps in the line protocol of the request payload.
-
defaultTagsSafe
- Parameters:
config- with/without defaultTags defined- Returns:
- defaultTags - can be an empty map if none are defined.
-
gzipThresholdSafe
- Parameters:
config- with default value- Returns:
- Payload size threshold for compressing it.
-
noSyncSafe
- Parameters:
config- with default value- Returns:
- Skip waiting for WAL persistence on write.
-
acceptPartialSafe
- Parameters:
config- with default value- Returns:
- Accept partial write.
-
useV2ApiSafe
- Parameters:
config- with default value- Returns:
- Route writes to the V2 API endpoint.
-
validate
Validate write option combinations.- Parameters:
config- with default values
-
headersSafe
- Returns:
- The headers to be added to write request.
-
tagOrderSafe
- Returns:
- preferred order of tags in line protocol serialization.
-
equals
-
hashCode
public int hashCode()
-