kullanarak nasıl okuyabilirim Mesajların, AWS konsolundaki SQS mesaj görünümünde görüntülendiğimde gönderilen bir gönderim süresi olduğunu görebilirim. Bu verileri Python'un boto kütüphanesini kullanarak nasıl okuyabilirim?SQS: Bir SQS mesajının gönderilen saatini Python'un boto kütüphanesi
7
A
cevap
3
Boto'da bir sıradan bir iletiyi okuduğunuzda, Message
nesnesini alırsınız. Bu nesne, attributes
olarak adlandırılan özniteliğe sahiptir. SQS'nin bu mesajı tuttuğu niteliklerin bir sözlüğüdür. SentTimestamp
içerir.
2
Sen get_message() yöntemin nitelikleri parametresini kullanabilirsiniz. documentation'a bakın.
queue.get_messages(attributes=['All'])
documentation ayrıca okuma() yöntemi ile yapabilirsiniz ama şu an kırık olduğunu söyledi. Proje sitesinde bunun için bir sorun açtım: https://github.com/boto/boto/issues/2699.
"öznitelikleri" nin boş ve boş olduğunu buluyorum '{}' 'q.get_messages (10) sonra boto 2.8.0 – jberryman
Varsayılan olarak' get_messages'' herhangi bir öznitelik döndürmez. İstediğiniz öznitelikleri '' öznitelikleri'' parametresi aracılığıyla döndürmeniz gerekir. Bu değer bir değere sahip olabilir: All | SenderId | SentTimestamp | ApproximateReceiveCount | ApproximateFirstReceiveTimestamp – garnaat
Boto'da bir hata olduğunu düşünüyorum - eğer belirli öznitelikler belirlerseniz (ex: SentTimestamp). 'ALL' da benim için boş bir dict döndürür. –