mqtt

package
v1.7.1 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

README

Kubemq MQTT Target Connector

Kubemq mqtt target connector allows services using kubemq server to access mqtt messaging services.

Prerequisites

The following are required to run the mqtt target connector:

  • kubemq cluster
  • mqtt server
  • kubemq-targets deployment

Configuration

MQTT target connector configuration properties:

Properties Key Required Description Example
host yes mqtt connection host "localhost:1883"
username no set mqtt username "username"
password no set mqtt password "password"
client_id no mqtt connection string address "client_id"
default_topic no set MQTT default topic "topic"
default_qos no set MQTT default qos 0

Example:

bindings:
  - name: kubemq-query-mqtt
    source:
      kind: kubemq.query
      name: kubemq-query
      properties:
        address: "kubemq-cluster:50000"
        client_id: "kubemq-query-mqtt-connector"
        auth_token: ""
        channel: "query.mqtt"
        group:   ""
        auto_reconnect: "true"
        reconnect_interval_seconds: "1"
        max_reconnects: "0"
    target:
      kind: messaging.mqtt
      name: target-mqtt
      properties:
        host: "localhost:1883"
        username: "username"
        password: "password"
        client_id: "client_id"
        default_topic: "topic"
        default_qos: 0

Usage

Request

Request metadata setting:

Metadata Key Required Description Possible values
topic yes set topic name "topic"
qos yes set qos level "0","1","2"

Query request data setting:

Data Key Required Description Possible values
data yes data to publish base64 bytes array

Example:

{
  "metadata": {
    "topic": "topic",
    "qos": "0"
  },
  "data": "U0VMRUNUIGlkLHRpdGxlLGNvbnRlbnQgRlJPTSBwb3N0Ow=="
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connector

func Connector() *common.Connector

Types

type Client

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

func New

func New() *Client

func (*Client) Connector

func (c *Client) Connector() *common.Connector

func (*Client) Do

func (c *Client) Do(ctx context.Context, req *types.Request) (*types.Response, error)

func (*Client) Init

func (c *Client) Init(ctx context.Context, cfg config.Spec, log *logger.Logger) error

func (*Client) Stop

func (c *Client) Stop() error

Jump to

Keyboard shortcuts

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