【发布时间】:2021-02-24 06:31:28
【问题描述】:
我有一个用例,我必须将消息对消费者的可见性延迟大约 15 分钟,但如果在 15 分钟内发生事件变化;我应该取消消息,以便状态在那里结束。
我看到 Amazon SQS 消息计时器适用于这种情况,但我无法满足第二部分的要求。
这可以通过编程方式实现吗?
在文档https://docs.amazonaws.cn/en_us/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html 中提到,Amazon SQS 消息具有三种基本状态:
- 由生产者发送到队列。
- a 从队列中接收到
- 消费者。已从队列中删除。
- 消息被生产者发送到队列后,但消费者尚未从队列中接收到消息(即在状态 1 和 2 之间),即被视为已存储。
- 消息被消费者从队列中接收到,但尚未从队列中删除(即在状态 2 和 3 之间)后,该消息被视为处于传输状态。
我知道消息在被消费后可以删除,但我如何在消费者可见之前删除或过期?
我可以使用其他任何 AWS 服务吗?查看步骤函数,但不完全适合上面提到的这个简单用例。
任何指针都会很有帮助。
请多多包涵/AWS 菜鸟。谢谢。
【问题讨论】:
标签: amazon-web-services amazon-sqs amazon-sns amazon-api-gateway