在我的 sls 项目中,我使用本文设置 sqs 离线使用,如下所示。
- npm 安装 serverless-offline-sqs 作为开发依赖
- 在 serverless.ts 插件部分的 serverless-offline 之后包含 serverless-offline-sqs
- 为队列添加了自定义配置,
"serverless-offline-sqs": {
autoCreate: true,
apiVersion: "2012-11-05",
endpoint: "http://localhost:9324",
region: "us-east-1",
accessKeyId: "root",
secretAccessKey: "root",
skipCacheInvalidation: false,
},
- serverless.ts 资源部分中包含的队列资源:
FooQueue: {
Type: "AWS::SQS::Queue",
Properties: {
QueueName: "foo.fifo",
FifoQueue: true,
VisibilityTimeout: 60,
MessageRetentionPeriod: 345600,
},
},
- 运行 ElasticMQ 泊坞窗
docker run -p 9324:9324 -p 9325:9325 softwaremill/elasticmq-native
- 启动 serverless 离线sls 离线启动
尝试列出队列,不显示 fifo.queue。想知道为什么 autoCreate 没有创建队列。列出队列动作 curl 响应:
curl "http://localhost:9324?Action=ListQueues"
<ListQueuesResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">
<ListQueuesResult>
</ListQueuesResult>
<ResponseMetadata>
<RequestId>00000000-0000-0000-0000-000000000000</RequestId>
</ResponseMetadata>
</ListQueuesResponse>%
想知道为离线模式自动创建队列我缺少什么?离线启动显示“离线:启动离线 SQS:dev/us-east-1”。信息。
版本:
"serverless-offline-sqs": "^6.0.0",
"serverless-offline": "^8.1.0",