SQS属性为变量

问题描述 投票:0回答:1

我试图获得可以成为我可以发送给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"]
        }
    ]    
}
amazon-web-services aws-lambda boto3 slack
1个回答
0
投票

get_queue_attibutes()返回的值是:

{
    u'Attributes':
        {
            'ApproximateNumberOfMessagesNotVisible': '0', 
            'ApproximateNumberOfMessages': '1'
        }, 
        'ResponseMetadata': {...}
        }
}

因此,您可以通过以下方式访问这些值:

response['Attributes']['ApproximateNumberOfMessages']

response['Attributes']['ApproximateNumberOfMessagesNotVisible']

答案似乎以字符串形式回归。

© www.soinside.com 2019 - 2024. All rights reserved.