influxdb3 write
The influxdb3 write
command writes data to your InfluxDB 3 Core server.
Usage
influxdb3 write [OPTIONS] --database <DATABASE_NAME> [LINE_PROTOCOL]...
Aliases
write
, w
Arguments
LINE_PROTOCOL: The line protocol to write to InfluxDB 3 Core. Provide the line protocol in one of the following ways:
- a string
- a path to a file that contains the line protocol using the
--file
option - from stdin
Options
Option | Description | |
---|---|---|
-H | --host | Host URL of the running InfluxDB 3 Core server (default is http://127.0.0.1:8181 ) |
-d | --database | (Required) Name of the database to operate on |
--token | (Required) Authentication token | |
-f | --file | A file that contains line protocol to write |
--accept-partial | Accept partial writes | |
--no-sync | Do not wait for WAL sync before acknowledging the write request | |
--precision | Precision of data timestamps (ns , us , ms , or s ) | |
--tls-ca | Path to a custom TLS certificate authority (for testing or self-signed certificates) | |
-h | --help | Print help information |
--help-all | Print detailed help information |
Option environment variables
You can use the following environment variables to set command options:
Environment Variable | Option |
---|---|
INFLUXDB3_HOST_URL | --host |
INFLUXDB3_DATABASE_NAME | --database |
INFLUXDB3_AUTH_TOKEN | --token |
Examples
- Write line protocol to your InfluxDB 3 server
- Write line protocol and accept partial writes
- Write line protocol with specific timestamp precision
- Write line protocol and immediately return a response
In the examples below, replace the following:
DATABASE_NAME
: the name of the database to queryAUTH_TOKEN
: Authentication token
Write line protocol to your InfluxDB 3 server
influxdb3 write \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--file ./data.lp
cat ./data.lp | influxdb3 write \
--database DATABASE_NAME \
--token AUTH_TOKEN
Write line protocol and accept partial writes
influxdb3 write \
--accept-partial \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--file ./data.lp
cat ./data.lp | influxdb3 write \
--accept-partial \
--database DATABASE_NAME \
--token AUTH_TOKEN
Write line protocol with specific timestamp precision
By default, in CLI and HTTP API write requests, InfluxDB 3 Core uses the
timestamp magnitude to auto-detect the precision.
To avoid any ambiguity, specify the --precision {ns|us|ms|s}
option:
influxdb3 write \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--precision s \
'home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000
home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000
home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600
home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600
'
Write line protocol and immediately return a response
By default, InfluxDB 3 Core waits to respond to write requests until the
written data is flushed from the Write-Ahead Log (WAL) to object storage
(every 1s by default).
Use the --no-sync
option to immediately return a response without waiting for
the WAL to flush. This improves perceived write response times, but may hide certain
types of write errors–for example: malformed line protocol or type conflicts.
Only use --no-sync
when low write latency is more important than guaranteed data durability.
Avoid using this option for critical or irreplaceable data, as it increases the risk of silent data loss.
influxdb3 write \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--no-sync \
'home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000'
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB 3 Core and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.