【发布时间】:2019-08-19 14:51:57
【问题描述】:
我有一个用 java 编写的 lambda 函数,它监听 sqs 事件并尝试对这些 sqs 消息进行某种处理。
根据 lambda 文档,如果 lambda 代码引发 runtimeException,则 lambda 将重试同一消息两次,然后再将其发送回队列。但是,我看不到这种行为。 我只看到它只处理一次消息。
在这种情况下,这是来自相关 lambda 代码的 sn-p。
@Override
public Boolean handleRequest(SQSEvent sqsEvent, Context context) {
try{
........some queue message processing.....
}
catch(Exception ex){
throw new RuntimeException("exception occurred");
}
}
这是否不足以让 lambda 再重试消息 2 次?我确实检查了 cloudwatch 以查看 lambda 日志,它仅包含来自第一次处理的日志,而不是重试的日志。
谁能告诉我我在这里错过了什么,因为它没有按预期工作。
【问题讨论】:
标签: aws-lambda amazon-sqs aws-java-sdk