访问AWS Lambda中的GET参数

use*_*334 5 python amazon-web-services aws-lambda aws-api-gateway

我是AWS新手,我刚刚成功设置了一个带RDS连接的Lambda函数.现在我想从外部通过API网关访问我的新函数,并传递一些参数,如:"color":"red"

https://my-api-id.execute-api.region-id.amazonaws.com/flowers颜色=红

我按照开发人员指南设置了所有内容,但遗憾的是我无法访问Python Lambda函数中的GET参数.

到目前为止我在AWS API网关中所做的工作:

  • 创建资源"/ flowers"和GET方法
  • GET - >方法请求 - > URL查询字符串参数 - >添加"颜色"
  • GET - > Integration Request - > Type:Lambda函数
  • GET - >集成请求 - > URL查询字符串参数 - >已添加name: color,mapped: method.request.querystring.color

我试图访问colorlambda处理程序中的参数,但事件总是为空,我不知道参数应该在哪里

def handler(event, context):

    return event     // {}
Run Code Online (Sandbox Code Playgroud)

我想我不能使用身体映射模板,除非我没有使用GET的请求体.

有人知道我在Python Lambda函数中需要做什么,以便访问我的color参数吗?

das*_*mug 10

使用Lambda Proxy作为集成请求类型.

在你的处理程序中,

def handler(event, context):

    return {
        'statusCode': 200,
        'body': json.dumps(event),
    }
Run Code Online (Sandbox Code Playgroud)

您的查询参数应该可以访问event['queryStringParameters'].

参考:使用Lambda代理集成设置代理资源