WSL2 + Ubuntu + Docker + localstack で動かす。
- dockerを起動
sudo service docker start
- docker-composeがあるフォルダに移動して実行
cd /mnt/c/wsl2/docker/localstack docker-compose up -d
- キューを作成
aws --region us-east-1 --endpoint-url http://localhost:4566 sqs create-queue --queue-name 'foo-queue' aws --region us-east-1 --endpoint-url http://localhost:4566 sqs create-queue --queue-name 'foo-queue.fifo' --attributes "FifoQueue=true"
- Springアプリを起動
- キューに値を入れる
aws --region us-east-1 --endpoint-url http://localhost:4566 sqs send-message --queue-url 'http://localhost:4566/000000000000/foo-queue' --message-body 'hogehoge' aws --region us-east-1 --endpoint-url http://localhost:4566 sqs send-message --queue-url 'http://localhost:4566/000000000000/foo-queue.fifo' --message-group-id 'test1' --message-body 'hogehoge'
- リスナーが動いて、SQSからデータを受信する。
restTemplate
でURLアクセス
docker-compose.yml を作る
version: '3'
services:
# LocalStack
localstack:
image: localstack/localstack:latest
environment:
- SERVICES=s3,ses,sqs # 使いたいAWSサービスカンマ区切りで設定する
- DEFAULT_REGION=us-east-1 # リージョンを設定
- DATA_DIR=/tmp/localstack/data # データ保存するディレクトリ
- DEBUG=1
- LS_LOG=trace
volumes:
- ./localstack:/tmp/localstack # ローカルディレクトリをデータ保存ディレクトリへマウント
ports:
- 4566:4566 # サービスへのアクセスポートは4566