AWS SQSメッセージの取得と削除

個人開発したアプリの宣伝
目的地が設定できる手帳のような使い心地のTODOアプリを公開しています。
Todo with Location

Todo with Location

  • Yoshiko Ichikawa
  • Productivity
  • Free

スポンサードリンク

Python boto3のサンプルコードを示します。

Queueメッセージの取得

import boto3

sqs = boto3.resource('sqs')
#取得するqueue
queueBox = sqs.get_queue_by_name(QueueName='YourQueueName')
#queueメッセージの取得
messages = queueBox.receive_messages(
  MessageAttributeNames=['All'],
  MaxNumberOfMessages=10
)

MaxNumberOfMessagesは最大10個までということで、ランダムに10個以下のキューを取得する。


メッセージのbodyとattributesの参照

# messageは上記、receive_messagesの取得結果
for m in messages:
  body = m.body
  attr1 = m.message_attributes.get('attr1').get('StringValue')
  attr2 = m.message_attributes.get('attr2').get('StringValue')
  attr3 = m.message_attributes.get('attr3').get('StringValue')


取り出したメッセージQueueの削除

#m は上記loopのitem
m.delete()