Sample JSON files
- Last UpdatedMay 19, 2026
- 2 minute read
This section provides three example configurations to help you get started with the Structured Data Files adapter. The basic example illustrates the smallest set of required settings for basic operation, the recommended example adds commonly used options for reliability and consistency, and the full example demonstrates the complete configuration for advanced scenarios and reference purposes.
Basic Structured Data Files JSON configuration
This minimal example illustrates the smallest configuration required to run the Structured Data Files adapter. This example includes only required fields. It reads CSV files from an input directory, maps a single value and timestamp to a stream, and sends the data to an OMF endpoint.
{
"System": {
"Components": [
{
"componentId": "SDF1",
"componentType": "StructuredDataFiles"
},
{
"componentId": "OmfEgress",
"componentType": "OmfEgress"
}
]
},
"SDF1": {
"DataSource": {
"inputDirectory": "/mnt/input",
"outputDirectory": "/mnt/output",
"format": "Csv",
"hasHeader": true,
"fieldSeparator": ","
},
"DataSelection": [
{
"valueField": "Value",
"indexField": "Timestamp",
"dataType": "float64",
"selected": true,
"streamId": "Value"
}
]
},
"OmfEgress": {
"DataEndpoints": [
{
"id": "DataHub",
"endpoint": "https://<datahub-endpoint>/api/v1/tenants/<tenantId>/namespaces/<namespaceId>/omf",
"clientId": "<clientId>",
"clientSecret": "{{Secret1}}"
}
]
}
}
Recommended Structured Data Files JSON configuration
This recommended example builds on the minimal configuration by adding commonly used settings for logging, buffering, and time handling. It reflects a typical production setup, improving reliability, data consistency, and stream naming.
{
"System": {
"Logging": {
"logLevel": "Information"
},
"Components": [
{
"componentId": "SDF1",
"componentType": "StructuredDataFiles"
},
{
"componentId": "OmfEgress",
"componentType": "OmfEgress"
}
],
"Buffering": {
"bufferLocation": "/usr/share/OSIsoft/Adapters/SDF/Buffers",
"maxBufferSizeMB": 512,
"enablePersistentBuffering": true
}
},
"SDF1": {
"Logging": {
"logLevel": "Information"
},
"DataSource": {
"inputDirectory": "/mnt/input",
"outputDirectory": "/mnt/output",
"format": "Csv",
"hasHeader": true,
"fieldSeparator": ",",
"encoding": "UTF8",
"culture": "en-US",
"timeZone": "UTC",
"streamIdPrefix": "sdf"
},
"DataSelection": [
{
"valueField": "Value",
"indexField": "Timestamp",
"indexFormat": "yyyy-MM-ddTHH:mm:ssZ",
"dataType": "float64",
"selected": true,
"streamId": "sdf.Value"
}
]
},
"OmfEgress": {
"Logging": {
"logLevel": "Information"
},
"DataEndpoints": [
{
"id": "DataHub",
"endpoint": "https://<datahub-endpoint>/api/v1/tenants/<tenantId>/namespaces/<namespaceId>/omf",
"clientId": "<clientId>",
"clientSecret": "{{Secret1}}"
}
]
}
}
Full Structured Data Files JSON configuration
This recommended example builds on the minimal configuration by adding commonly used settings for logging, buffering, and time handling. It reflects a typical production setup, improving reliability, data consistency, and stream naming without introducing advanced or rarely used options.
{
"System": {
"Logging": {
"logLevel": "Information",
"logFileSizeLimitBytes": 34636833,
"logFileCountLimit": 31
},
"HealthEndpoints": [
{
"id": "DataHub-Health",
"endpoint": "https://<datahub-endpoint>/api/v1/tenants/<tenantId>/namespaces/<namespaceId>/omf",
"clientId": "<clientId>",
"clientSecret": "{{Secret1}}"
}
],
"Components": [
{
"componentId": "SDF1",
"componentType": "StructuredDataFiles"
},
{
"componentId": "OmfEgress",
"componentType": "OmfEgress"
}
],
"Buffering": {
"bufferLocation": "/usr/share/OSIsoft/Adapters/SDF/Buffers",
"maxBufferSizeMB": 1024,
"enablePersistentBuffering": true
},
"General": {
"enableDiagnostics": true,
"metadataLevel": "Medium",
"healthPrefix": null
}
},
"SDF1": {
"Logging": {
"logLevel": "Information",
"logFileSizeLimitBytes": 34636833,
"logFileCountLimit": 31
},
"DataSource": {
"friendlyName": "SDFAdapter",
"inputDirectory": "/mnt/input",
"outputDirectory": "/mnt/output",
"fileNameFilter": null,
"purgeDelay": "10:00:00",
"discoveryDirectory": null,
"format": "Csv",
"hasHeader": true,
"compression": "None",
"encoding": "UTF8",
"fieldSeparator": ",",
"culture": "en-US",
"timeZone": "UTC",
"streamIdPrefix": "sdf",
"defaultStreamIdPattern": null
},
"DataSelection": [
{
"valueField": "Value",
"dataFields": null,
"indexField": "Timestamp",
"indexFormat": "yyyy-MM-ddTHH:mm:ssZ",
"dataType": "float64",
"selected": true,
"selectionCriteria": null,
"streamId": "sdf.Value",
"uom": null,
"dataFilterId": null
}
]
},
"OmfEgress": {
"Logging": {
"logLevel": "Information",
"logFileSizeLimitBytes": 34636833,
"logFileCountLimit": 31
},
"DataEndpoints": [
{
"id": "DataHub",
"endpoint": "https://<datahub-endpoint>/api/v1/tenants/<tenantId>/namespaces/<namespaceId>/omf",
"clientId": "<clientId>",
"clientSecret": "{{Secret1}}"
}
]
}
}