【发布时间】:2022-02-03 02:38:24
【问题描述】:
我正在尝试使用无服务器框架创建 AWS SQS 死信队列
这个想法是有一个 SQS 来触发一个 Lambda 函数,
并有另一个 SQS 作为 DeadLetterQueue,即。在 Lambda 失败或超时时获取消息
我做了以下事情来创建一个测试项目-
mkdir dlq
cd dlq/
serverless create --template aws-nodejs
以下是我的 serverless.yaml -
service: dlq
provider:
name: aws
runtime: nodejs12.x
region: ap-southeast-1
role: arn:aws:iam::xxxx:role/dlqLambdaRole
plugins:
- serverless-plugin-lambda-dead-letter
functions:
dlq:
handler: handler.hello
events:
- sqs:
arn:
Fn::GetAtt:
- MainQueue
- Arn
deadLetter:
targetArn:
GetResourceArn: DeadLetterQueue
resources:
Resources:
MainQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: main
DeadLetterQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: dlq
我也尝试了以下 -
service: dlq
provider:
name: aws
runtime: nodejs12.x
region: ap-southeast-1
role: arn:aws:iam::xxxx:role/dlqLambdaRole
plugins:
- serverless-plugin-lambda-dead-letter
functions:
dlq:
handler: handler.hello
events:
- sqs:
arn:
Fn::GetAtt:
- MainQueue
- Arn
deadLetter:
sqs: dlq
resources:
Resources:
MainQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: main
但在这两种情况下,框架只是创建一个普通的 SQS
我正在关注这份文件 -
https://www.serverless.com/plugins/serverless-plugin-lambda-dead-letter
【问题讨论】:
标签: amazon-web-services amazon-sqs serverless-framework