sns

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 11, 2022 License: MIT Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {

	// AWS session
	AWSSession *session.Session

	// Topic ARN where the messages are going to be sent
	TopicArn string
}

Config holds the info required to work with AWS SNS

type Publisher

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

Publisher is the AWS SNS message publisher

func New

func New(cfg Config) *Publisher

New creates a new AWS SNS publisher

func (*Publisher) Publish

func (p *Publisher) Publish(ctx context.Context, msg interface{}) error

Publish allows SNS Publisher to implement the publisher.Publisher interface and publish messages to an AWS SNS backend

func (*Publisher) PublishBatch

func (p *Publisher) PublishBatch(ctx context.Context, msgs []models.Message) (map[string]error, int64, int64, error)

PublishBatch allows SNS Publisher to implement the publisher.Publisher interface and publish messages in a single batch to an AWS SNS backend. Since AWS SNS batch publish can only handle a maximum payload of 10 messages at a time, the messages supplied will be published in batches of 10. For this reason, message sets are best kept under 100 messages so that all messages can be published in 10 tries. In case of failure when parsing or publishing any of the messages, this function will stop further publishing and return an error

Jump to

Keyboard shortcuts

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