Before you begin
- Install and configure the CLI. See Sift CLI setup.
- Identify the Asset that owns the data. When you import, you can name an existing Asset or a new one.
- Confirm your file has a time column in a supported time format.
- For every command, flag, and supported value, see the Sift CLI reference.
Import commands overview
Every import command imports into an Asset named by--asset.
To associate the data with a Run, or to create or reuse a Run by name, pass --run <name>.
To append to an existing Run, use --run-id <id>.
The CSV importer accepts
--run only.--previewparses the file and prints the detected schema without uploading.--waitblocks until Sift finishes processing the import.
Import a CSV file
Import a CSV file into an Asset. Unless you specify column types, the CLI infers each column as either string or double.--channel-column with the 1-based column index. Supply a --data-type, --unit, and --description for each --channel-column. The counts must match. Units and descriptions can be empty strings.
--header-row, --first-data-row, and --time-column. Set the time format with --time-format.
Import a Parquet file
Parquet import has two layouts. Choose the subcommand that matches your file.Flat dataset
Useflat-dataset when every column holds one Channel, except for the time column. By default, the CLI imports every non-time column.
--channel-path for each Channel. Supply a --data-type, --unit, and --description for each --channel-path. The counts must match. Units and descriptions can be empty strings.
time, timestamp, timestamps, and ts. Set --time-path to name it explicitly. The CLI infers the time format from the column’s Arrow type unless you set --time-format.
Channel per row
Usecpr when the file is laid out one Channel value per row. The --mode flag selects the layout:
single: the file holds[time, value]and every row belongs to one Channel. Name it with--channel-name.multi: the file holds a name column and a value column. Set--name-pathto the column holding Channel names. The CLI creates a Channel per unique name.
--complex-types-mode, which defaults to ignore.
Import a TDMS file
Import a TDMS file into an Asset.--fallback-method controls behavior and defaults to fail-on-error. Set it to ignore-error to skip those Channels. To import TDMS file properties to the Run as metadata, pass --import-file-properties.
Import an HDF5 file
Import an HDF5 file into an Asset. Two flags are required:--schema, which names the file’s layout (one-d, two-d, or compound), and --time-format. Add --relative-start-time (-s) when the time format is relative.
bool, int8/16/32/64, uint8/16/32/64, float32, and float64. Datasets with other types produce a client-side error.
The time-column flag depends on the schema:
--time-name(one-d): the leaf name of the time dataset when it differs from the auto-detected namestime,timestamp,timestamps, orts.--time-index(two-d): the index of the time column. Defaults to 0.--time-field(compound): the name of the time field.
Import backup files
Import backup files generated by sift_stream, part of thesift_app built-in system Asset. If ingestion fails, sift_stream writes the in-flight data to a local backup. sift-cli import backups will replay them and import anything that did not make it into Sift.
--path, the CLI reads from your OS data directory. Pass --cleanup to delete the backup files after a successful upload.
To list backup files without importing them:
Time formats
The--time-format flag accepts absolute and relative values. For the full list, see the Sift CLI reference.
For a relative format, set the relative start time (-s, or --relative-start-time on Parquet, TDMS, and HDF5) to an RFC 3339 timestamp that anchors the offsets.