OIAnalytics®
Query time series data from OIAnalytics® SaaS application.
Connection Settings
Main Configuration
| Setting | Description | Default Value |
|---|---|---|
| Use OIAnalytics registration | Use pre-configured connection settings from OIAnalytics registration | Enabled |
| Timeout | Duration before connection failure is reported (s) | 30 |
Manual Configuration (when registration not used)
| Setting | Description |
|---|---|
| Host | Hostname of the OIAnalytics® SaaS application (e.g., https://optimistik.oianalytics.com). |
| Accept unauthorized certificate | Enable if HTTP queries pass through a firewall that strips certificates. |
Authentication Methods
| Method | Description | Required Parameters |
|---|---|---|
| Access key/Secret | Standard authentication using access keys. | Access key, Secret |
| Azure AD (Client Secret) | Use Azure Active Directory with a client secret. | Tenant ID, Client ID, Client Secret |
| Azure AD (Certificate) | Use Azure Active Directory with a certificate. | Tenant ID, Client ID, Certificate, Scope |
Proxy Configuration
| Setting | Description |
|---|---|
| Use proxy | Route requests through a proxy. |
| Proxy URL | URL of the proxy server (e.g., http://proxy.example.com:8080). |
| Proxy username | Username for proxy authentication (if required). |
| Proxy password | Password for proxy authentication (if required). |
Throttling Settings
You can optimize data requests using throttling configurations. These settings help manage large data intervals and network conditions effectively.
Key Throttling Parameters
| Setting | Description | Data Type | Example Value |
|---|---|---|---|
| Max read interval | Maximum duration (in seconds) for each data request interval. Larger intervals are automatically divided into smaller chunks not exceeding this value. | Seconds | 3600 |
| Read delay | Delay (in milliseconds) between consecutive data requests. Helps prevent server overload. | Milliseconds | 1000 |
| Overlap | Time overlap (in milliseconds) between consecutive queries to ensure data continuity. This value is subtracted from the @StartTime of the next query. | Milliseconds | 60000 |
How Throttling Works
- Interval Division:
- Large time ranges are automatically split into smaller intervals
- Each sub-interval does not exceed the
Max read intervalduration - Example: A 24-hour request with
Max read interval = 3600(1 hour) will be split into 24 separate 1-hour requests
- Request Timing:
- The
Read delayintroduces a pause between consecutive requests - Helps manage server load and prevents rate limiting
- Particularly useful during network instability or when querying large datasets
- Data Continuity:
- The
Overlapsetting ensures no gaps in your data - Creates a time buffer between consecutive queries
- Example: With
Overlap = 60000(1 minute), each query will include 1 minute of overlapping data with the previous query
The overlap setting modifies the @StartTime of each query by subtracting the overlap value from the calculated start time. This adjustment applies to the entire query range, not to individual sub-intervals when large requests are split into smaller chunks.
This functionality is particularly useful when:
- New data is ingested after previous queries have executed
- You need to account for potential ingestion delays in the source system
Example:
With overlap=60000 (1 minute), a query for the interval [10:00-11:00] will actually request [9:59-11:00], ensuring capture of any late-arriving data from the previous time period.
Recommended Configurations
| Scenario | Max read interval | Read delay | Overlap |
|---|---|---|---|
| Stable network, small datasets | 3600 (1 hour) | 500 | 0 (no overlap) |
| Unstable network | 1800 (30 min) | 2000 | 0 (no overlap) |
| Large historical retrievals | 7200 (2 hours) | 1000 | 0 (no overlap) |
| Real-time with occasional gaps | 900 (15 min) | 200 | 15000 (15 sec) |
Item Settings
Endpoint Settings
| Setting | Description | Example Value |
|---|---|---|
| Endpoint | API endpoint for HTTP requests | /api/oianalytics/data/values |
Query Parameters
Query Variables:
@StartTime: Initial execution time, updates to most recent timestamp from results@EndTime: Current time (now()) or sub-interval end when queries are split
Large time intervals are automatically divided into smaller chunks using:
- Max read interval (from throttling settings)
- Reduces server and network load
- Improves data stream resilience
CSV Serialization Options
| Setting | Description | Example Value |
|---|---|---|
| Filename | Output filename pattern with variables: @ConnectorName, @CurrentDate | data_@ConnectorName.csv |
| Delimiter | Field separator character | , or ; |
| Compression | Enable gzip compression | Enabled/Disabled |
| Output datetime format | Format for datetime fields in CSV | yyyy-MM-dd HH:mm:ss |
| Output timezone | Timezone for datetime values | UTC or Europe/Paris |
@ConnectorName: Connector name@CurrentDate: Current timestamp inyyyy_MM_dd_HH_mm_ss_SSSformat (fixed format)- Datetime format setting doesn't affect filename timestamp