Command to run localstack on Docker
docker run --rm -it -p 4566:4566 -p 4510-4559:4510-4559 localstack/localstack
docker run --rm -d -p 4566:4566 -p 4510-4559:4510-4559 localstack/localstack
Command for Docker-compose to run localstack
version: '3.6'
services:
localstack:
image: localstack/localstack
container_name: localstack
network_mode: bridge
ports:
- "4566:4566"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
Command to create s3 bucket on localstack
aws --endpoint-url http://localhost:4566 s3 mb s3://user-uploads
Command to list s3 bucket on localstack
aws --endpoint-url http://localhost:4566 s3 ls
Create sqs queue locally
aws --endpoint-url=http://localhost:4566 sqs create-queue --region=us-west-2 --queue-name trial-proj1
List SQS queue
aws --endpoint-url=http://localhost:4566 sqs list-queues --region=us-west-2
Create a SNS topic
aws --endpoint-url=http://localhost:4566 sns create-topic --region=us-west-2 --name trial-proj1-sns
List SNS topic
aws --endpoint-url=http://localhost:4566 sns list-topics --region=us-west-2
Subscribe to SNS topic
aws --endpoint-url=http://localhost:4566 sns subscribe --region=us-west-2 --topic-arn arn:aws:sns:us-west-2:000000000000:trial-proj1-sns --protocol sqs --notification-endpoint http://localhost:4566/000000000000/trial-proj1
List subscriptions
aws --endpoint-url=http://localhost:4566 sns list-subscriptions --region=us-west-2
Read the message
aws --endpoint-url=http://localhost:4566 sqs receive-message --region=us-west-2 --queue-url http://localhost:4566/000000000000/trial-proj1
Run go program
go run main.go -m 'MY FIRST MESSAGE' -t 'arn:aws:sns:us-west-2:000000000000:trial-proj1-sns'