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 (*Publisher) Publish ¶
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