首页 > 解决方案 > aws 的 lambda 日志中没有显示任何消息

问题描述

我有一个 SQS 队列,一旦收到消息就会触发 Lambda。lambda 被触发,但当我使用 receive_message API 调用时看不到任何响应。

import json
import urllib.parse
import boto3
sqs = boto3.client('sqs')


def lambda_handler(event, context):

    try:
        response = sqs.receive_message(
        QueueUrl="https://sqs.us-east-1.amazonaws.com/*****/test-queue"
            )

        print("Response",response)
        return 
    except Exception as e:
        print(e)
        raise e

输出

{'ResponseMetadata': {'RequestId': 'd4d364b9-ac8c-5dcd-a174-33b4aae995c9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'd4d364b9-ac8c-5dcd-a174-33b4aae995c9', 'date': 'Sun, 12 Apr 2020 12:05:57 GMT', 'content-type': 'text/xml', 'content-length': '240'}, 'RetryAttempts': 0}}

有人可以在这里帮助我吗?

标签: amazon-web-servicesaws-lambdaamazon-sqs

解决方案


如果您的 lambda 函数由 自动触发SQS,则消息将在event对象中。

您无需sqs.receive_message显式调用即可从队列中读取消息。只需使用event对象。


推荐阅读