transforms

package
v0.2.0-dev.29 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 29, 2019 License: Apache-2.0 Imports: 22 Imported by: 18

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Compression added in v1.0.0

type Compression struct {
	// contains filtered or unexported fields
}

func NewCompression added in v1.0.0

func NewCompression() Compression

NewCompression creates, initializes and returns a new instance of Compression

func (*Compression) CompressWithGZIP added in v1.0.0

func (compression *Compression) CompressWithGZIP(edgexcontext *appcontext.Context, params ...interface{}) (bool, interface{})

CompressWithGZIP compresses data received as either a string,[]byte, or json.Marshaler using gzip algorithm and returns a base64 encoded string as a []byte.

func (*Compression) CompressWithZLIB added in v1.0.0

func (compression *Compression) CompressWithZLIB(edgexcontext *appcontext.Context, params ...interface{}) (bool, interface{})

CompressWithZLIB compresses data received as either a string,[]byte, or json.Marshaler using zlib algorithm and returns a base64 encoded string as a []byte.

type Conversion

type Conversion struct {
}

Conversion houses various built in conversion transforms (XML, JSON, CSV)

func NewConversion added in v1.0.0

func NewConversion() Conversion

NewConversion creates, initializes and returns a new instance of Conversion

func (Conversion) TransformToJSON

func (f Conversion) TransformToJSON(edgexcontext *appcontext.Context, params ...interface{}) (continuePipeline bool, stringType interface{})

TransformToJSON transforms an EdgeX event to JSON. It will return an error and stop the pipeline if a non-edgex event is received or if no data is received.

func (Conversion) TransformToXML

func (f Conversion) TransformToXML(edgexcontext *appcontext.Context, params ...interface{}) (continuePipeline bool, stringType interface{})

TransformToXML transforms an EdgeX event to XML. It will return an error and stop the pipeline if a non-edgex event is received or if no data is received.

type CoreData added in v1.0.0

type CoreData struct {
}

func NewCoreData added in v1.0.0

func NewCoreData() *CoreData

NewCoreData Is provided to interact with CoreData

func (*CoreData) MarkAsPushed added in v1.0.0

func (cdc *CoreData) MarkAsPushed(edgexcontext *appcontext.Context, params ...interface{}) (bool, interface{})

MarkAsPushed will make a request to CoreData to mark the event that triggered the pipeline as pushed. This function will not stop the pipeline if an error is returned from core data, however the error is logged.

type Encryption added in v1.0.0

type Encryption struct {
	Key                  string
	InitializationVector string
}

func NewEncryption added in v1.0.0

func NewEncryption(key string, initializationVector string) Encryption

NewEncryption creates, initializes and returns a new instance of Encryption

func (Encryption) EncryptWithAES added in v1.0.0

func (aesData Encryption) EncryptWithAES(edgexcontext *appcontext.Context, params ...interface{}) (bool, interface{})

EncryptWithAES encrypts a string, []byte, or json.Marshaller type using AES encryption. It will return a Base64 encode []byte of the encrypted data.

type Filter

type Filter struct {
	FilterValues []string
}

Filter houses various the parameters for which filter transforms filter on

func NewFilter added in v1.0.0

func NewFilter(filterValues []string) Filter

NewFilter creates, initializes and returns a new instance of Filter

func (Filter) FilterByDeviceName

func (f Filter) FilterByDeviceName(edgexcontext *appcontext.Context, params ...interface{}) (continuePipeline bool, result interface{})

FilterByDeviceName filters for data coming from specific devices. It filters out those messages whose Event is for devices not in FilterValues. For example, data generated by a motor does not get passed to functions only interested in data from a thermostat. This function will return an error and stop the pipeline if a non-edgex event is received or if no data is received.

func (Filter) FilterByValueDescriptor

func (f Filter) FilterByValueDescriptor(edgexcontext *appcontext.Context, params ...interface{}) (continuePipeline bool, result interface{})

FilterByValueDescriptor filters for data from certain types of IoT objects, such as temperatures, motion, and so forth. Reading types not in FilterValues are removed leaving just the readings that match one of the values in FilterValues. For example, pressure reading data does not go to functions only interested in motion data. This function will return an error and stop the pipeline if a non-edgex event is received or if no data is received.

type HTTPSender

type HTTPSender struct {
	URL      string
	MimeType string
}

HTTPSender ...

func NewHTTPSender added in v1.0.0

func NewHTTPSender(url string, mimeType string) HTTPSender

NewHTTPSender creates, initializes and returns a new instance of HTTPSender

func (HTTPSender) HTTPPost

func (sender HTTPSender) HTTPPost(edgexcontext *appcontext.Context, params ...interface{}) (bool, interface{})

HTTPPost will send data from the previous function to the specified Endpoint via http POST. If no previous function exists, then the event that triggered the pipeline will be used. An empty string for the mimetype will default to application/json.

type KeyCertPair added in v1.0.0

type KeyCertPair struct {
	KeyFile      string
	CertFile     string
	KeyPEMBlock  []byte
	CertPEMBlock []byte
}

KeyCertPair is used to pass key/cert pair to NewMQTTSender KeyPEMBlock and CertPEMBlock will be used if they are not nil then it will fall back to KeyFile and CertFile

type MQTTSender

type MQTTSender struct {
	// contains filtered or unexported fields
}

func NewMQTTSender

func NewMQTTSender(logging logger.LoggingClient, addr models.Addressable, keyCertPair *KeyCertPair, mqttConfig *MqttConfig) *MQTTSender

NewMQTTSender - create new mqtt sender

func (MQTTSender) MQTTSend

func (sender MQTTSender) MQTTSend(edgexcontext *appcontext.Context, params ...interface{}) (bool, interface{})

MQTTSend sends data from the previous function to the specified MQTT broker. If no previous function exists, then the event that triggered the pipeline will be used.

type MqttConfig

type MqttConfig struct {
	// contains filtered or unexported fields
}

MqttConfig contains mqtt client parameters

func NewMqttConfig

func NewMqttConfig() *MqttConfig

NewMqttConfig returns a new MqttConfig with default values. Use Setter functions to change specific values.

func (MqttConfig) SetAutoreconnect

func (mqttConfig MqttConfig) SetAutoreconnect(reconnect bool)

SetAutoreconnect enables or disables the automatic client reconnection to broker

func (MqttConfig) SetQos

func (mqttConfig MqttConfig) SetQos(qos byte)

SetQos changes mqtt qos(0,1,2) for all messages

func (MqttConfig) SetRetain

func (mqttConfig MqttConfig) SetRetain(retain bool)

SetRetain enables or disables mqtt retain option

type OutputData added in v1.0.0

type OutputData struct {
}

OutputData houses transform for outputting data to configured trigger response, i.e. message bus

func NewOutputData added in v1.0.0

func NewOutputData() OutputData

NewOutputData creates, initializes and returns a new instance of OutputData

func (OutputData) SetOutputData added in v1.0.0

func (f OutputData) SetOutputData(edgexcontext *appcontext.Context, params ...interface{}) (bool, interface{})

SetOutputData sets the output data to that passed in from the previous function. It will return an error and stop the pipeline if the input data is not of type []byte, string or json.Mashaler

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL