Skip to main content

Table 1 Common Dioptase services and their parameters

From: Dioptase: a distributed data streaming middleware for the future web of things

Service path

Description and parameters

/streams

Access to a stream. id=<stream id>, mode=stream|hook, *hook=<hook name> (if mode=hook)

/thing/properties

Get the properties of the Thing: sensors, actuators, supported storage types and metadata. *sensors=true|false, *actuators=true|false, *storages=true|false, *metadata=true|false

/thing/sensors

Get identifiers, units, semantic/concrete types and metadata of one or all the sensors. *id=<sensor id>

/thing/actuators

Get identifiers and parameters (names, types, metadata) of one or all the actuators. *id=<actuator id>

/thing/operators

Get identifiers and contracts (name/type of inputs, number of inputs) of one or all the compiled operators. *id=<operator id>

/thing/actuate

Executes one of the actuation service. id=<actuator id>, service=<service name>, actuator-specific parameters (key/value)

/components/running

Get the name and the input/output stream URIs of deployed components (producer, processor, storage).

/components/remove

Stop and destroy a component. id=<component id>

/processors

Get identifiers and input/output streams schemas of one or all the processors, possibly in extended form (logic, state, schemas). id*=<processor id>, *extended=true|false

/processors/state

Get the content of the internal state of a processor. id=<processor id>

/processors/new

Deploy a new processor and starts it. id=<processor id>, code=<source code> or operator=<operator id>, inputs=<URIs>, *state=<start state>, *history=true|false, *h-size=<history size>, operator-specific parameters (key/value)

/processors/history

Get a processor history as a stream. id=<processor id>, *t-start=<timestamp>, *t-end=<timestamp>|now, *nb=<nb of items>

/processors/migrate

Migrate a processor to another device. id=<processor id>, to=<URI>, *forget-state=true|false

/producers

Get identifiers, sensor names and output streams schemas of one or all the producers. *id=<processor id>

/producers/new

Deploy a new producer. id=<producer id>, sensor=<sensor id>, *sampling=<sampling rate>

/storages

Get identifiers, types and input/output schemas of one or all the storages. *id=<storage id>

/storages/new

Deploy a new storage. id=<storage id>, type=<storage type>, storage-specific parameters (key/value)

  1. Legend: *xxx = optional parameter <yyy> = any value a|b|c = parameter value can be a, b or c.