Ingestion
Overview
Sift provides multiple mechanisms for data ingestion, including file uploads, API-based imports, and real-time streaming to support a wide range of workflows.
Upload: UI
Sift allows you to upload certain file types directly through the web interface. This is the fastest way to bring data into Sift for review, visualization, or analysis without any setup or code.
File types
File type |
---|
.csv |
.tdms |
Additional configuration options are presented after upload, depending on the selected file type.
CSV
Format
A CSV to be uploaded to Sift must include a header row, a timestamp column, and one or more telemetry Channels, each formatted according to supported conventions.
Requirement | Description |
---|---|
First row | Must contain column headers |
Timestamp column | One column must contain timestamps (recommended name: timestamp ) |
Data columns | All other columns are treated as telemetry channels |
Timestamp formats
Sift supports multiple timestamp formats that must match the structure of the selected timestamp column during CSV upload.
Format | Description |
---|---|
rfc3339 | 2023-01-02T15:04:05Z |
datetime | 2023-01-02 15:04:05 |
UNIX | Seconds since epoch |
unix_millis | Milliseconds since epoch |
unix_micros | Microseconds since epoch |
unix_nanos | Nanoseconds since epoch |
nanoseconds | Relative time in nanoseconds |
microseconds | Relative time in microseconds |
milliseconds | Relative time in milliseconds |
seconds | Relative time in seconds |
minutes | Relative time in minutes |
hours | Relative time in hours |
General configuration
Before uploading a CSV file, Sift requires basic configuration to define the associated Asset and Run, the starting row of data, and how timestamps should be interpreted.
Field | Description |
---|---|
Asset | The system that generated the data. Select an existing Asset or create a new one. |
Run | A specific data collection session. Defaults to the file name but can be edited. |
First data row | Row number where time-series data begins. Used to skip extra header rows. |
Timestamp column | The column containing timestamps. Auto-detected but editable. |
Timestamp format | The format of the timestamp column. Must be one of the supported types. |
Channel configuration
During CSV upload, each non-timestamp column is treated as a Channel representing a stream of time-series data. Sift displays a configuration table where each Channel can be reviewed and customized before ingestion.
Field | Description |
---|---|
Checkbox | Determines whether the Channel is included in the upload. |
Name | Auto-filled from the CSV header. Can be edited. |
Data type | Auto-detected type such as float, int64, bool, or string. Editable if incorrect. |
Units | Optional. Specifies measurement units such as °C. |
Description | Optional. Describes the purpose or source of the Channel. |
Timestamp columns are excluded from Channel configuration.
Data type
Each channel in Sift must be assigned a data type. The following data types are supported across all ingestion methods:
Data type | Description |
---|---|
double | 64-bit floating point number |
float | 32-bit floating point number |
int32 | 32-bit signed integer |
uint32 | 32-bit unsigned integer |
int64 | 64-bit signed integer |
uint64 | 64-bit unsigned integer |
bool | Boolean value (true or false) |
string | Text or alphanumeric values |
enum | Categorical value with a fixed set of possible strings |
bit field | Integer where each bit represents a distinct flag or condition |