Атрибуты SQS как переменные - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь получить атрибуты SQS, которые могут стать переменной, которую я могу отправить в Slack. Ответ правильный, но я не могу найти способ получить ответы 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"]
        }
    ]    
}

1 Ответ

0 голосов
/ 13 марта 2019

Возвращаемое значение от get_queue_attibutes():

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

Таким образом, вы можете получить доступ к значениям через:

response['Attributes']['ApproximateNumberOfMessages']

response['Attributes']['ApproximateNumberOfMessagesNotVisible']

Ответы, похоже, возвращаются в виде строк.

...