【发布时间】:2020-01-14 05:22:57
【问题描述】:
我正在尝试从 SQS 延迟队列触发我的 lambda 函数,它正在触发 lambda 但队列中没有消息。即使我在 aws 控制台上进行检查,也会出现消息延迟,并且该延迟时间已经结束。它触发了我的 lambda 函数,但是当我的 lambda 尝试获取消息列表时,它显示为空列表。另一件事是当我删除 lambda 触发器之后,每当我将消息发送到队列时,它会显示延迟时间后可用的消息。所以它按预期工作,没有向 lambda 添加触发器,但是当我添加触发器时,我的 lambda 没有收到任何要处理的消息。
我尝试了各种方法,但都没有成功。我的默认可见性超时:30 秒和接收消息等待时间:0 秒和传递延迟:10 秒。
使用以下代码从 sqs 获取消息,它总是返回空列表:
final ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(SQS_URL);
final List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
我是 aws 新手,不知道该怎么做,因为这个问题陷入了僵局。请帮忙。
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-sqs