sns

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: 12 Imported by: 0

README

Kubemq sns target Connector

Kubemq aws-sns target connector allows services using kubemq server to access aws sns service.

Prerequisites

The following required to run the aws-sns target connector:

  • kubemq cluster
  • aws account with sns active service
  • kubemq-targets deployment

Configuration

sns target connector configuration properties:

Properties Key Required Description Example
aws_key yes aws key aws key supplied by aws
aws_secret_key yes aws secret key aws secret key supplied by aws
region yes region aws region
token no aws token ("default" empty string) aws token

Example:

bindings:
  - name: kubemq-query-aws-sns
    source:
      kind: kubemq.query
      name: kubemq-query
      properties:
        address: "kubemq-cluster:50000"
        client_id: "kubemq-query-aws-sns-connector"
        auth_token: ""
        channel: "query.aws.sns"
        group:   ""
        auto_reconnect: "true"
        reconnect_interval_seconds: "1"
        max_reconnects: "0"
    target:
      kind: aws.sns
      name: aws-sns
      properties:
        aws_key: "id"
        aws_secret_key: 'json'
        region:  "instance"
        token:   ""

Usage

List Topics

list all topics

List Topics:

Metadata Key Required Description Possible values
method yes type of method "list_topics"

Example:

{
  "metadata": {
    "method": "list_topics"
  },
  "data": null
}
List Subscriptions

list all subscriptions

List Subscriptions:

Metadata Key Required Description Possible values
method yes type of method "list_subscriptions"

Example:

{
  "metadata": {
    "method": "list_subscriptions"
  },
  "data": null
}
List Subscriptions By Topic

list all Subscriptions of the selected topic

List Subscriptions By Topic:

Metadata Key Required Description Possible values
method yes type of method "list_subscriptions_by_topic"
topic yes topic_name "arn:aws-my-topic"

Example:

{
  "metadata": {
    "method": "list_subscriptions_by_topic",
    "topic": "arn:aws-my-topic"
  },
  "data": null
}
Create Topic

create a new topic , topic name must by unique

Create Topic:

Metadata Key Required Description Possible values
method yes type of method "create_topic"
topic yes topic_name "arn:aws-my-topic"
data no create attributes as base64 '{"DisplayName":"my-display-name"}'

Example:

{
  "metadata": {
    "method": "create_topic",
    "topic": "arn:aws-my-topic"
  },
  "data": "eyJEaXNwbGF5TmFtZSI6Im15LWRpc3BsYXktbmFtZSJ9"
}
Send Message

send a message to topic.

Send Message:

Metadata Key Required Description Possible values
method yes type of method "send_message"
topic no(unless target_arn is missing) topic_name "arn:aws-my-topic"
target_arn no(unless topic is missing) target_arn "arn:aws-my-topic"
message yes message body as string 'some message in string format'
message yes message body as string 'some message in string format'
subject no sns subject name "string name of sns subject"
phone_number no valid phone number "valid phone number"
data no message attributes as base64 "[{"name":"store","data_type":"String","string_value":"my_store"},{"name":"event","data_type":"String","string_value":"my_event"}]"

Example:

{
  "metadata": {
    "method": "send_message",
    "topic": "arn:aws-my-topic"
    "message": "my message to send"
  },
  "data": "W3sibmFtZSI6InN0b3JlIiwiZGF0YV90eXBlIjoiU3RyaW5nIiwic3RyaW5nX3ZhbHVlIjoibXlfc3RvcmUifSx7Im5hbWUiOiJldmVudCIsImRhdGFfdHlwZSI6IlN0cmluZyIsInN0cmluZ192YWx1ZSI6Im15X2V2ZW50In1d"
}
Subscribe

Subscribe to topic

Subscribe:

Metadata Key Required Description Possible values
method yes type of method "subscribe"
topic yes topic_name "arn:aws-my-topic"
data no Subscribe attributes as base64 '{"store": ["mystore"],"event": [{"anything-but": "my-event"}]}'

Example:

{
  "metadata": {
    "method": "subscribe",
    "topic": "arn:aws-my-topic"
  },
  "data": "eyJzdG9yZSI6IFsibXlzdG9yZSJdLCJldmVudCI6IFt7ImFueXRoaW5nLWJ1dCI6ICJteS1ldmVudCJ9XX0="
}
Delete Topic

delete the selected topic

Delete Topic:

Metadata Key Required Description Possible values
method yes type of method "delete_topic"
topic yes topic_name "arn:aws-my-topic"

Example:

{
  "metadata": {
    "method": "delete_topic",
    "topic": "arn:aws-my-topic"
  },
  "data": null
}

Documentation

Index

Constants

View Source
const (
	DefaultEndPoint    = ""
	DefaultPhoneNumber = ""
	DefaultSubject     = ""
)
View Source
const (
	DefaultToken = ""
)

Variables

This section is empty.

Functions

func Connector

func Connector() *common.Connector

Types

type Attributes

type Attributes struct {
	Name        string `json:"name"`
	DataType    string `json:"data_type"`
	StringValue string `json:"string_value"`
}

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