docs-v2/content/influxdb3/clustered/reference/cli/influxctl/write.md

8.6 KiB

title description menu weight metadata related
influxctl write The `influxctl write` command writes line protocol to InfluxDB Clustered.
influxdb3_clustered
parent
influxctl
201
influxctl 2.4.0+
/influxdb3/clustered/reference/syntax/line-protocol/
/influxdb3/clustered/write-data/

The influxctl write command writes line protocol to {{< product-name >}}.

Provide line protocol in one of the following ways:

  • a string on the command line
  • a path to a file that contains line protocol
  • a single dash (-) to read line protocol from stdin

{{% note %}}

Important to note

  • This command supports only one write request per execution, but does support multiple lines of line protocol and will batch data based on the --batch-size.
  • This command is not meant to be a full, feature-rich write tool. It's meant for debug, triage, and initial exploration. {{% /note %}}

InfluxDB connection configuration

Your {{< product-name omit=" Clustered" >}} cluster host and port are configured in your in your influxctl connection profile. Default uses TLS and port 443. You can set a default database and token to use for the query and write commands in your connection profile or pass them with the command using the --database and --token flags. Command line flags override settings in the connection profile.

Usage

influxctl write [flags] <LINE_PROTOCOL>

Arguments

Argument Description
LINE_PROTOCOL Line protocol to write (command line string, path to file, or - to read from stdin)

Flags

Flag Description
--batch-size Number of metrics to write per batch (default is 10000)
--database Database to write to
--precision Precision of data timestamps (ns (default), us, ms, or s)
--timeout Client timeout in seconds (default is 10)
--token Database token with write permissions on the target database
-h --help Output command help

{{% caption %}} Also see influxctl global flags. {{% /caption %}}

Examples

In the examples below, replace the following:

  • {{% code-placeholder-key %}}DATABASE_TOKEN{{% /code-placeholder-key %}}: Database token with write access to the target database
  • {{% code-placeholder-key %}}DATABASE_NAME{{% /code-placeholder-key %}}: Name of the database to write to

Write line protocol to InfluxDB v3

{{% code-placeholders "DATABASE_(TOKEN|NAME)" %}}

{{< code-tabs-wrapper >}} {{% code-tabs %}} string file stdin {{% /code-tabs %}} {{% code-tab-content %}} {{% influxdb/custom-timestamps %}}

influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  "home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000000000000
home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000000000000
home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600000000000
home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600000000000
"

{{% /influxdb/custom-timestamps %}} {{% /code-tab-content %}} {{% code-tab-content %}}

influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  /path/to/metrics.lp

{{% /code-tab-content %}} {{% code-tab-content %}}

cat ./metrics.lp | influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  - 

{{% /code-tab-content %}} {{< /code-tabs-wrapper >}}

{{% /code-placeholders %}}

Write line protocol to InfluxDB v3 with non-default timestamp precision

{{% code-placeholders "DATABASE_(TOKEN|NAME)" %}}

{{< code-tabs-wrapper >}} {{% code-tabs %}} string file stdin {{% /code-tabs %}} {{% code-tab-content %}} {{% influxdb/custom-timestamps %}}

influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --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
"

{{% /influxdb/custom-timestamps %}} {{% /code-tab-content %}} {{% code-tab-content %}}

influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --precision s \
  /path/to/metrics.lp

{{% /code-tab-content %}} {{% code-tab-content %}}

cat ./metrics.lp | influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --precision s \
  - 

{{% /code-tab-content %}} {{< /code-tabs-wrapper >}}

{{% /code-placeholders %}}

Write line protocol to InfluxDB v3 with a custom batch size

{{% code-placeholders "DATABASE_(TOKEN|NAME)" %}}

{{< code-tabs-wrapper >}} {{% code-tabs %}} string file stdin {{% /code-tabs %}} {{% code-tab-content %}} {{% influxdb/custom-timestamps %}}

influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --batch-size 5000 \
  "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
"

{{% /influxdb/custom-timestamps %}} {{% /code-tab-content %}} {{% code-tab-content %}}

influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --batch-size 5000 \
  /path/to/metrics.lp

{{% /code-tab-content %}} {{% code-tab-content %}}

cat ./metrics.lp | influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --batch-size 5000 \
  - 

{{% /code-tab-content %}} {{< /code-tabs-wrapper >}}

{{% /code-placeholders %}}

Write line protocol to InfluxDB v3 with a custom client timeout

{{% code-placeholders "DATABASE_(TOKEN|NAME)" %}}

{{< code-tabs-wrapper >}} {{% code-tabs %}} string file stdin {{% /code-tabs %}} {{% code-tab-content %}} {{% influxdb/custom-timestamps %}}

influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --timeout 20 \
  "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
"

{{% /influxdb/custom-timestamps %}} {{% /code-tab-content %}} {{% code-tab-content %}}

influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --timeout 20 \
  /path/to/metrics.lp

{{% /code-tab-content %}} {{% code-tab-content %}}

cat ./metrics.lp | influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --timeout 20 \
  - 

{{% /code-tab-content %}} {{< /code-tabs-wrapper >}}

{{% /code-placeholders %}}

Write line protocol to InfluxDB v3 using credentials from the connection profile

The following example uses the database and token defined in the default connection profile.

{{% influxdb/custom-timestamps %}}

influxctl write "home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000000000000
home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000000000000
home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600000000000
home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600000000000
"

{{% /influxdb/custom-timestamps %}}

{{% expand "View command updates" %}}

v2.8.0

  • Add --timeout flag to specify a custom client timeout.

{{% /expand %}}