我有一个用例,我必须将消息对消费者的可见性延迟大约 15 分钟,但如果在 15 分钟内发生事件变化;我应该取消消息,以便状态在那里结束。
我看到 Amazon SQS 消息计时器适用于这种情况,但我无法满足要求的第二部分。
这在编程上是可能的吗?
在文档https://docs.amazonaws.cn/en_us/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html中提到,Amazon SQS 消息具有三种基本状态:
- 由生产者发送到队列。
- 从队列中接收到
- 消费者。从队列中删除。
- 一条消息在被生产者发送到队列后被认为已存储,但消费者尚未从队列中接收到消息(即在状态 1 和 2 之间)。
- 一条消息在消费者从队列中接收到但尚未从队列中删除(即在状态 2 和 3 之间)后被认为是在传输中。
我知道消息可以在消费后被删除,但我如何在消费者看到它之前删除或过期它?
我可以使用其他任何 AWS 服务吗?查看阶跃函数,但不完全适合上面提到的这个简单用例。
任何指针都会非常有帮助。
请多多包涵/AWS noob。谢谢。