如何使用boto来获取已经在飞行中的aws sqs消息

gui*_*hao 3 boto amazon-sqs amazon-web-services

我试过boto api,似乎没有api可以获得已经在飞行中的消息号码?有没有人给我一个如何获得这个号码的提示?

gar*_*aat 6

要在boto中查找正在传递的消息或SQS队列的任何其他属性,您需要执行以下操作:

import boto.sqs
c = boto.sqs.connect_to_region('us-east-1')
queue = c.lookup('myqueue')
attr = queue.get_attributes()
Run Code Online (Sandbox Code Playgroud)

这将是一个python字典,如下所示:

{u'ApproximateNumberOfMessages': u'0',
 u'ApproximateNumberOfMessagesDelayed': u'0',
 u'ApproximateNumberOfMessagesNotVisible': u'0',
 u'CreatedTimestamp': u'1412270007',
 u'DelaySeconds': u'0',
 u'LastModifiedTimestamp': u'1412270007',
 u'MaximumMessageSize': u'262144',
 u'MessageRetentionPeriod': u'345600',
 u'QueueArn': u'arn:aws:sqs:us-east-1:723405645490:16ac1da3-564c-43aa-8dcb-4db41ece50ea',
 u'ReceiveMessageWaitTimeSeconds': u'0',
 u'VisibilityTimeout': u'30'}
Run Code Online (Sandbox Code Playgroud)

我相信这ApproximateNumberOfMessagesNotVisible相当于控制台报告的飞行中统计数据.