Skip to main content

BufferData@1

The node BufferData@1 is an edge pipeline node that buffers data locally.

The technology behind is called LiteDb which is a simple, fast and free embedded .NET NoSQL database.

The data is buffered locally to allow resending in case of network issues. The storage location is home/.local/share/.<adapter-name> under linux and C:\Users\<username>\AppData\Local\.<adapter-name> under windows and can be changed by setting the configuration:

{
"EdgeDataBuffer": {
"StoragePath": "<path-to-be-used>"
}
}

In this folder multiple files are generated:

  1. EdgeDataBufferMetadata.omedb - metadata that keeps track when, which data was stored, deleted, sent, etc.
  2. <a guid>.omedb - the actual data files

The Node has a configuration field bufferTime which defines the time the data are buffered before they are sent to the next node in the pipeline. The next node(s) in the pipeline are defined in the transformations field and can be any arbitrary node(s). The field keepDataAfterSending is optional and defines if the data file should be kept after sending to the next node in the pipeline.

Adapter Prerequisites

  • General availability: All adapters support this node type.

Node Configuration

For fields path, targetPath, targetValueWriteMode, and targetValueKind, see Overview.

- type: BufferData@1
bufferTime: 00:05:00 # Time in the format hh:mm:ss, default 5 minutes
keepDataAfterSending: false # Optional property to keep the data file after sending to the event hub
targetPath: $.data # Path where the data should be stored in the payload for the sub pipeline
transformations: # Sub pipeline that will be executed for each iteration
- type: PublishToDistributionEventHub@1
description: Load to event hub