繁体   English   中英

访问发布到 python AWS Lambda Function URL 的数据

[英]Accessing data POST'd to a python AWS Lambda Function URL

我正在尝试在 Python 中调用 AWS Lambda Function URL。使用他们的示例 lambda 代码如下, action值始终返回null 如何访问我 POST 到 Function URL 的 json 数据中的值?

Lambda 代码(取自此处):

import logging

logger = logging.getLogger()
logger.setLevel(logging.INFO)


def lambda_handler(event, context):
    result = None
    action = event.get('action')
    if action == 'increment':
        result = event.get('number', 0) + 1
        logger.info('Calculated result of %s', result)
    else:
        logger.error("%s is not a valid action.", action)

    response = {'result': result}
    return response

使用 Function URL 调用

curl -X POST 'https://[redacted].lambda-url.eu-west-1.on.aws/' -d '{"action":"increment","number": 3}'

结果:

{"result":null}

问题:

如何正确引用'action'的值以产生result

出于兴趣,这就是我调整 AWS 示例代码来解析必填字段的方式

import logging
import json

logger = logging.getLogger()
logger.setLevel(logging.INFO)


def lambda_handler(event, context):
    message = json.loads(event['body'])
    result = None
    action = message['action']
    if action == 'increment':
        result = message['number'] + 1
        logger.info('Calculated result of %s', result)
    else:
        logger.error("%s is not a valid action.", action)

    response = {'result': result}
    return response

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM