/localAWS

Primary LanguageJavaScript

Installation

Bootstrap

Install dependencies:

npm install

Add SQS service in docker-compose.yml

  localstack:
    container_name: localstack
    image: localstack/localstack
    depends_on: [lb]
    ports:
      - "4566:4566"
    environment:
      - SERVICES=${LOCALSTACK_SERVICES:-s3,sns,sqs} # <- Here
      - HOSTNAME=${LOCALSTACK_HOSTNAME:-localstack}
      - HOSTNAME_EXTERNAL=${LOCALSTACK_HOSTNAME_EXTERNAL:-localstack}
      - DEBUG=${LOCALSTACK_DEBUG:-false}
      - DATA_DIR=${LOCALSTACK_DATA_DIR:-/tmp/localstack/data}
      - HOST_TMP_FOLDER=${LOCALSTACK_TMPDIR:-/tmp}
    volumes:
      - "./services/localstack/aws:/docker-entrypoint-initaws.d"
      - "${TMPDIR:-/tmp/localstack}:/tmp/localstack"
      - aws-credentials:/root/.aws

Add new SNS topic and SQS queue in localstack here: services/localstack/aws/sns.sh

awslocal sns create-topic --name contracts-topic
awslocal sqs create-queue --queue-name  contracts-queue

Start publisher:

npm run publisher

Work with SQS:

  • Start consumer: npm run consumer
  • Start publisher: npm run sqsPublisher
  • Check the logs