我尝试使用 LocalStack 并在本地创建 aws sqs 队列。 这是我的终端:
我使用这个命令创建队列
aws --endpoint-url=http://localhost:4566 sqs create-queue --queue-name activitiesQueue
然后使用此命令列出队列
aws --endpoint-url=http://localhost:4566 sqs list-queues
然后显示创建的队列。
我尝试使用命令使用队列消息或尝试启动 node.js 服务器:
命令:
aws --endpoint-url=http://localhost:4566 sqs send-message --region us-east-1 --queue-url "http://localhost:4566/000000000000/activitiesQueue" --message-body '{"command":["do-something"]}'
然后出现如下错误
调用SendMessage操作时出现错误(AWS.SimpleQueueService.NonExistentQueue):指定队列不存在 对于这个 wsdl 版本
我还设置了aws凭据:
路径: C:\Users\user.aws
[default]
aws_access_key_id = XXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
我使用
LocalStack config show
命令检查了 LocalStack 默认区域。
默认区域是“ap-southeast-1”。然后我在 config.js 文件中用 aws 区域创建了一个队列。
区域不匹配是错误的原因。
aws --endpoint-url=http://localhost:4566 sqs create-queue --queue-name activitiesQueue --region us-east-1
然后使用
aws --endpoint-url=http://localhost:4566 sqs list-queues --region us-east-1
命令我检查了 LocalStack 中所有创建的队列。