API Reference astarte_flow v0.1.0

modules

Modules

This is a producer_consumer block that sends messages to a Docker container.

This is a producer block that generates messages by polling consuming from an AMQP queue that contains a stream of Astarte.Core.Triggers.SimpleEvents.SimpleEvent generated by Data Updater Plant.

This module handles the decoding of Astarte Events and their transformation to Astarte Flow Messages

This is a consumer block that takes data from incoming Messages and publishes it as an Astarte device, interpreting the key as <realm>/<device_id>/<interface><path>.

This is a consumer block that takes data from incoming Message and makes a POST request to the configured URL containing data. This block supports only incoming messages with type :binary, so serialization to binary format must be handled in a separate block before the message arrives here. The subtype of the message, if present, is added as Content-Type header. Additionally, static headers can be added to the POST requests with the initial configuration.

This is a producer block that generates messages by polling HTTP URLs with a GET request.

This is a map block that takes data from incoming Message and makes a Message having a JSON serialized payload. The subtype of the message is set to "application/json" and the type is :binary.

Transforms the incoming JSON message using the configured JSON template which makes use of JSONPath to extract data from the incoming message.

Implements a simple logic less templating system that allows to write map templates with a syntax that resembles mustache syntax, that can be used for JSON templating.

This is a map block that takes an incoming Message and it transforms it using given Lua script. This block supports Lua 5.3 scripts. The incoming message will be provided to the script as message

Breaks a map message into several messages, one for each map item.

An Astarte Flow source that produces data by polling a Modbus device. This block is built to poll a single Modbus slave, if you want to poll multiple slaves you must instantiate multiple flows changing the slave id.

An Astarte Flow consumer that publishes MQTT messages from incoming Flow messages.

An Astarte Flow source that produces data from an MQTT connection.

Producer module that generates random messages of a specific type with a fixed key. The supported types are :integer, :real and :boolean.

This block is a stateful realtime block, which reorders an out of order sequence of messages, and optionally removes any duplicate message.

This is a producer-consumer block that modifies the metadata field of incoming Messages by inserting, updating or removing keys using a static configuration.

This is a consumer block that takes data from incoming Messages and publishes it as an Astarte device, interpreting the key as <realm>/<device_id>/<interface><path>.

This module provides compatibility helpers to support multiple formats of configuration during the deprecation period.

The Flows context.

This module implements an embedded_schema representing a Flow and also the GenServer responsible of starting and monitoring the Flow.

The entrypoint for defining your web interface, such as controllers, views, channels and so on.

Conveniences for translating and building error messages.

Translates controller action results into valid Plug.Conn responses.

A module providing Internationalization with a gettext-based API.

This is a wrapper around Guardian.Plug.VerifyHeader that allows to recover the JWT public key dynamically using informations contained in the connection

Module with named helpers generated from Astarte.FlowWeb.Router.