influxdb3 import from-object-store
The influxdb3 import from-object-store command imports every Parquet file
found recursively under a prefix into an existing InfluxDB 3 Enterprise
database and table.
InfluxDB 3 Enterprise reads the source files itself, using its own object
store credentials, so file bytes never stream through the influxdb3 client
or the machine that runs it.
This command needs the write action on the target database, for example,
db:DATABASE_NAME:write.
Usage
influxdb3 import from-object-store [OPTIONS] <SOURCE>Arguments
| Argument | Description |
|---|---|
<SOURCE> | Where to read the Parquet files from: a prefix in InfluxDB 3 Enterprise’s own object store (for example, some/prefix), or an s3://bucket/prefix URL. Every other URL scheme is rejected with an HTTP 400 error. Every .parquet file found recursively under the prefix is imported as its own job. |
Options
| Option | Description | Default | Environment variable | |
|---|---|---|---|---|
-H | --host <HOST_URL> | Host URL of the InfluxDB 3 Enterprise server | http://127.0.0.1:8181 | INFLUXDB3_HOST_URL |
--token <AUTH_TOKEN> | Authentication token | INFLUXDB3_AUTH_TOKEN | ||
-d | --database <DATABASE> | Target database name | ||
-t | --table <TABLE> | Target table name | ||
--column <COLUMN> | Map a Parquet column to an InfluxDB type: <column>=<type>. See import upload column type mapping for supported types. Can be specified multiple times. | |||
--tls-ca <CA_CERT> | Path to a custom TLS certificate authority | INFLUXDB3_TLS_CA | ||
--tls-no-verify | Disable TLS certificate verification (not recommended in production) | INFLUXDB3_TLS_NO_VERIFY | ||
-h | --help | Print help information | ||
--help-all | Print detailed help information |
How the server reads the source
InfluxDB 3 Enterprise uses its own configured object store credentials to read the source. You don’t send credentials in the command.
- When
<SOURCE>names a prefix in InfluxDB 3 Enterprise’s own object store, staging each file is a copy within that same store. - When
<SOURCE>names an external S3 bucket, InfluxDB 3 Enterprise’s own object store must also be S3 (or an S3-compatible endpoint set with--aws-endpoint). If it isn’t, InfluxDB 3 Enterprise has no credentials to reach another bucket and rejects the request with an HTTP 400 error. InfluxDB 3 Enterprise’s credentials must also be able to read the source bucket. This is typically automatic within one AWS account, and otherwise possible only when a bucket policy on the source bucket grants that access.
For an external S3 bucket, InfluxDB 3 Enterprise first tries a true S3 server-side copy: a single request that moves the file directly between buckets without streaming its bytes through InfluxDB 3 Enterprise. Server-side copy applies only when all of the following hold:
- Both the source and destination object stores are S3 (or an S3-compatible
endpoint set with
--aws-endpoint). - InfluxDB 3 Enterprise’s credentials can read the source bucket and write the destination bucket.
- The source file is smaller than 5 GiB.
When any of these doesn’t hold, InfluxDB 3 Enterprise falls back
automatically to streaming the file through itself (never through the
influxdb3 client) and logs a warning.
Control this behavior with the
--import-attempt-server-side-copy
server option (default true).
Set it to false to always use the streamed fallback.
You can’t use your object store’s root, or the reserved
uploaded_imports/ prefix, as an import source.
Choose a dedicated prefix for your source files.
Examples
In the examples below, replace the following:
DATABASE_NAME: the name of the target databaseTABLE_NAME: the name of the target tableAUTH_TOKEN: your authentication token
Import from the server’s own object store
influxdb3 import from-object-store \
--host http://localhost:8181 \
--token AUTH_TOKEN \
--database DATABASE_NAME \
--table TABLE_NAME \
parquet-imports/2025-01/Import from an S3 bucket
influxdb3 import from-object-store \
--host http://localhost:8181 \
--token AUTH_TOKEN \
--database DATABASE_NAME \
--table TABLE_NAME \
s3://my-bucket/parquet-exports/Import with column type mapping
influxdb3 import from-object-store \
--host http://localhost:8181 \
--token AUTH_TOKEN \
--database DATABASE_NAME \
--table TABLE_NAME \
--column timestamp=time \
--column host=tag \
--column cpu_usage=f64 \
s3://my-bucket/parquet-exports/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 Enterprise and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support. Customers using a trial license can email trial@influxdata.com for assistance.