json 如何从函数URL调用AWS lambda函数?

svmlkihl  于 2023-04-13  发布在  其他
关注(0)|答案(1)|浏览(112)

下面是我在Python中的lambda函数

import json

def lambda_handler(event, context):
    current_version = "1.2.10"

    app_version = event['app_version']

    if app_version == current_version:
        message = True
    else:
        message = False
    
    response = {'updateReq': message}
    
    return {
        'statusCode': 200,
        'body': json.dumps(response)
    }

我在AWS控制台测试的时候,它工作得很好。然后我创建了一个函数URL,并用Insomnia测试它。它显示错误“InternalServerError”。下面是我的请求体,方法:POST

{
    "app_version":"1.1.0"
}

有什么可能的原因吗?
编辑:添加了来自CloudWatch LOG的错误日志

[ERROR] KeyError: 'app_version'
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 15, in lambda_handler
    app_version = event['app_version']
dfuffjeb

dfuffjeb1#

通过Function URL调用的Lambda接收API Gateway Proxy Integration v2事件。请求体位于event["body"]。它是一个字符串值。反序列化JSON以获取有效负载。

body = json.loads(event['body'])

app_version = body['app_version']

相关问题