Skip to content

An AWS SNS client wrapped to provide consistent logging and other services.

Notifications You must be signed in to change notification settings

VeteranCrowd/wrapped-sns-client

Repository files navigation

Backup Status

wrapped-sns-client

This package wraps the SNS Client - AWS SDK for JavaScript v3 to provide consistent logging and other services.

API Documentation

wrapped-sns-client

wrapped-sns-client.WrappedSnsClient

Wraps an AWS SNS client to provide standard logging & services.

Kind: static class of wrapped-sns-client

new exports.WrappedSnsClient([options])

WrappedSnsClient constructor.

Param Type Description
[options] object Options.
[options.logger] object Logger instance (default is global console object). Must have info, error & debug methods
[options.logInternals] boolean Log AWS client internals (default is false).
[options.config] object SNSClientConfig.

wrappedSnsClient.createTopic(topicName, [attributes]) ⇒ Promise.<string>

Create SNS topic.

Kind: instance method of WrappedSnsClient
Returns: Promise.<string> - Topic ARN.

Param Type Description
topicName string Topic name.
[attributes] object Topic attributes (see reference).

wrappedSnsClient.deleteTopic(topicArn) ⇒ Promise.<boolean>

Delete SNS topic.

Kind: instance method of WrappedSnsClient
Returns: Promise.<boolean> - True if successful.

Param Type Description
topicArn string Topic ARN.

wrappedSnsClient.getTopicAttributes(topicArn) ⇒ Promise.<object>

Get SNS topic attributes.

Kind: instance method of WrappedSnsClient
Returns: Promise.<object> - Topic attributes.

Param Type Description
topicArn string Topic ARN.

wrappedSnsClient.publish(options) ⇒ Promise.<string>

Publish message to SNS.

Kind: instance method of WrappedSnsClient
Returns: Promise.<string> - Message ID.

Param Type Description
options object Publish options.
[options.attributes] DecodedMessageAttributes Message attributes.
options.message object | string Message content.
[options.messageStructure] object Message structure.
[options.phoneNumber] object Phone number.
[options.subject] string Subject
[options.targetArn] string Target ARN
[options.topicArn] string Topic ARN

wrappedSnsClient.crudOperationHandler(topicArn, [indexToken], [getEntity]) ⇒ function

Generate a DynamoDB Streams CRUD Operation Lambda event handler.

Kind: instance method of WrappedSnsClient
Returns: function - Event handler.

Param Type Description
topicArn string Topic ARN
[indexToken] string Index token.
[getEntity] GetEntityCallback get entity callback.

WrappedSnsClient.decodeMessageAttributes(attributes) ⇒ DecodedMessageAttributes

Decode message attributes from SNS.

Kind: static method of WrappedSnsClient
Returns: DecodedMessageAttributes - Decoded message attributes.

Param Type Description
attributes EncodedMessageAttributes Encoded message attributes.

WrappedSnsClient.encodeMessageAttributes(attributes) ⇒ EncodedMessageAttributes

Encode message attributes for SNS.

Kind: static method of WrappedSnsClient
Returns: EncodedMessageAttributes - Encoded message attributes.

Param Type Description
attributes DecodedMessageAttributes Decoded message attributes.

wrapped-sns-client~DecodedMessageAttributes : Object.<string, (string|number)>

Kind: inner typedef of wrapped-sns-client

wrapped-sns-client~EncodedMessageAttributes : Object.<string, object>

Kind: inner typedef of wrapped-sns-client

wrapped-sns-client~GetEntityCallback ⇒ string

Extract entity token from index value.

Kind: inner typedef of wrapped-sns-client
Returns: string - Entity token.

Param Type Description
indexValue string Index value.

See more great templates and other tools on my GitHub Profile!

About

An AWS SNS client wrapped to provide consistent logging and other services.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published