Причина, по которой response
равен null
, заключается в том, что вы никогда не возвращаете значение, вы просто return
.Это тот же ответ, как если бы вы запустили это:
def lambda_handler(event, context):
return
Вы, вероятно, захотите что-то вернуть, как пример, встроенный в lambda:
import json
def lambda_handler(event, context):
# TODO implement
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
Что касается остальной части вашей проблемы,Похоже, вы никогда не получаете сообщение вообще.Из вы видите на веб-консоли вашего экземпляра MQ , есть ли сообщения в очереди, было ли получено сообщение и т. Д.
Все примеры, которые я видел, включают использованиеwait=True
, например, conn.connect(wait=True)
, поэтому попробуйте добавить его в conn.connect
, если только у вас нет веской причины, по которой вы его не используете.
Редактировать: Я проверял это, яне думайте, что вы когда-либо устанавливаете связь.Если вы добавите wait=True
, вы, вероятно, увидите, что соединение с ConnectFailedException
завершается неудачно, как у меня.Вероятно, это первое, что нужно отладить.
Редактировать 2: Я решил, вам нужно использовать SSL для подключения к экземпляру AWS MQ следующим образом:
conn = stomp.Connection(host_and_ports=[('b-4714-4441-8166-47aae158281a-1.mq.eu-central-1.amazonaws.com', 61614)])
lst = Listener()
conn.set_listener('Listener', lst)
conn.set_ssl(for_hosts=[('b-4714-4441-8166-47aae158281a-1.mq.eu-central-1.amazonaws.com', 61614)])
conn.start()