Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@node-ts/bus-sqs

node-ts7.4kMIT1.1.3TypeScript support: included

An AWS SQS transport adapter for @node-ts/bus-core.

esb, SQS, typescript, enterprise integration patterns, bus, messaging, microservices, distributed systems, framework, enterprise framework, CQRS, ES, NServiceBus, Mule ESB

readme

@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 the Discussion 🤔

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 bus = Bus.configure().withTransport(sqsTransport).build()
await bus.initialize()

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.