AWS Lambda 不断返回“\”来自 Lambda 的Hello!\”

meh*_*man 9 python amazon-web-services amazon-dynamodb aws-lambda

我在使用适用于 Python 3.8 的 AWS Lambda 时遇到了一些问题。无论我尝试运行什么代码,AWS Lambda 都会不断返回相同的响应。我正在尝试使用以下代码从 DynamoDB 实例中检索信息:

import json
import boto3

dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('planets')

def lambda_handler(event, context):
    response = table.get_item(
        Key = {
            'id':'mercury'
        }
    )
    print(response)
    # TODO implement
    return {
        'statusCode': 200,
        'body': response)
    }
Run Code Online (Sandbox Code Playgroud)

我期待类似的输出'body':{'Item': {'id':'mercury', 'temp':'sizzling hot'}},甚至是错误,但我不断收到以下响应:

Response:
{
  "statusCode": 200,
  "body": "\"Hello from Lambda!\""
}
Run Code Online (Sandbox Code Playgroud)

我什至更改了代码,预计会出现错误,但我仍然得到相同的输出。

Mar*_*cin 19

通常这是由于以下原因之一:

  1. 不是在部署代码更改。在新的 UI 中,您必须Deploy使用橙色按钮明确显示您的功能。
  2. 如果您要对函数进行版本控制,则调用的是旧版 lambda 版本,而不是最新版本。您必须明确选择要调用的正确版本。

  • 有效!谢谢。奇怪的是,你必须先部署它,然后才能真正测试它。 (2认同)
  • 热门问题,这个。如果用户界面可以在单击“测试”时警告您是否有未部署的更改,那就太好了。 (2认同)
  • 非常令人困惑,特别是对于遵循旧 UI 教程并在新 UI 上尝试的初学者来说。 (2认同)