如果处理时出现错误,更新SQS消息

问题描述 投票:0回答:1

嗨,我有两个 lambda,例如:L1 和 L2。 L1 创建 SQS 消息并将其发送到我的 SQS 队列。 示例:

queue.send_message(MessageBody='boto3', MessageAttributes={
    'Author': {
        'StringValue': 'Daniel',
        'DataType': 'String'
    }
})

如果此消息处理失败,L2 现在从 SQS 接收此消息以进行进一步处理 该消息将移至 DLQ,其中另一个 lambda L3 将进行故障处理。 我想做的是,当消息失败时,L2 将在消息中添加消息属性

(Error: failed due to xyz)
,然后该消息将移至 DLQ。

但据我所知,SQS 消息是不可变的,不知道如何操作。谁能帮我解决这个问题,或者有其他选择吗?

python aws-lambda amazon-sqs
1个回答
0
投票

这是不可能的。一旦消息被发送到队列,SQS 消息的消息属性就不可变。 SQS 查询 API(由所有客户端库使用)不支持修改队列中的消息,除了更改其可见性超时。

© www.soinside.com 2019 - 2024. All rights reserved.