@bakerstreet-industries/bus-sqs
TypeScript icon, indicating that this package has built-in type declarations

1.0.16 • Public • Published

@node-ts/bus-sqs

An Amazon SQS transport adapter for @node-ts/bus

🔥 View our docs at https://bus.node-ts.com 🔥

🤔 Have a question? Join our Discord 🤔

Installation

Install packages and their dependencies

npm i @node-ts/bus-sqs @node-ts/bus-core

Once installed, configure Bus to use this transport during initialization:

import { Bus } from '@node-ts/bus-core'
import { SqsTransport, SqsTransportConfiguration } from '@node-ts/bus-sqs'

const sqsConfiguration: SqsTransportConfiguration = {
  awsRegion: process.env.AWS_REGION,
  awsAccountId: process.env.AWS_ACCOUNT_ID,
  queueName: `my-service`,
  deadLetterQueueName: `my-service-dead-letter`
}
const sqsTransport = new SqsTransport(sqsConfiguration)

// Configure Bus to use SQS as a transport
const run = async () => {
  await Bus
    .configure()
    .withTransport(sqsTransport)
    .initialize()
}
run.catch(console.error)

Development

Local development can be done with the aid of docker to run the required infrastructure. To do so, run:

docker run -e SERVICES=sqs,sns -e DEFAULT_REGION=us-east-1 -p 4566-4583:4566-4583 localstack/localstack

This will create a localstack instance running and exposing a mock sqs/sns that's compatible with the AWS-SDK. This same environment is used when running integration tests for the SqsTransport.

Package Sidebar

Install

npm i @bakerstreet-industries/bus-sqs

Weekly Downloads

1

Version

1.0.16

License

MIT

Unpacked Size

74.9 kB

Total Files

27

Last publish

Collaborators

  • roustalski