我试图获得可以成为我可以发送给Slack的变量的SQS属性。响应是正确的,但我无法找到一种方法将ApproximateNumberOfMessages和ApproximateNumberOfMessagesNotVisible响应转换为Slack。
def lambda_handler(event, context):
logger.info("Event: " + str(event))
response = sqs.get_queue_attributes(
QueueUrl='https://queue.amazonaws.com/AccountID/Queue',
AttributeNames=['ApproximateNumberOfMessages','ApproximateNumberOfMessagesNotVisible']
)
print(response)
slack_message = {
'channel': SLACK_CHANNEL,
'username': "SQS Alarm",
'attachments': [
{
'pretext': "%s" % (response),
'color': "#e81e1e",
'text': "*Messages:*\n%s" % (response),
'mrkdown_in': ["true","pretext"]
}
]
}
get_queue_attibutes()
返回的值是:
{
u'Attributes':
{
'ApproximateNumberOfMessagesNotVisible': '0',
'ApproximateNumberOfMessages': '1'
},
'ResponseMetadata': {...}
}
}
因此,您可以通过以下方式访问这些值:
response['Attributes']['ApproximateNumberOfMessages']
response['Attributes']['ApproximateNumberOfMessagesNotVisible']
答案似乎以字符串形式回归。