gpt4 book ai didi

python - 博托 SQS : delete RawMessage

转载 作者:行者123 更新时间:2023-11-28 16:44:51 27 4
gpt4 key购买 nike

我正在使用 python boto 2.8,但无法删除消息。这是我的测试代码:

conn = boto.sqs.connect_to_region("us-east-1",
aws_access_key_id=AWS_ACCESS_KEY,
aws_secret_access_key=AWS_SECRET_KEY)

q = conn.get_queue("sqs_bounces")
q.set_message_class(RawMessage) //need this to be able to get message as json
results = q.get_messages(num_messages=10,visibility_timeout=30,wait_time_seconds=10)
for rs in results:
str = rs.get_body()
print str
result = json.loads(str)
rs = json.loads(result["Message"])
print rs["notificationType"]
#get the email and save it as bounced
// Do saving.....

#Delete message
//How do i delete the current message?

这里有人可以指导我如何删除它吗?有时我会收到 1 条消息,有时会收到 3 条消息。而且我不想在每次拉取时都保存相同的退回电子邮件,这就是为什么我需要在保存它们后将其删除。

谢谢

最佳答案

返回的结果集中的每个对象都是一个 RawMessage 对象,它有一个 delete 方法。因此,如果您将循环编码得更像这样:

for msg in results:
body = msg.get_body()
body = json.loads(body)
message_body = json.loads(body['Message'])
...
msg.delete()

您应该能够删除该消息。

关于python - 博托 SQS : delete RawMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14894456/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com