访问AWS Lambda中的GET参数

时间:2017-09-28 12:13:14

标签: python amazon-web-services aws-lambda aws-api-gateway

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

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

我已经设置了developer guide之后的所有内容,但遗憾的是我无法访问Python Lambda函数中的GET参数。

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

  • 创建资源" / flowers"和GET方法
  • GET - >方法请求 - > URL查询字符串参数 - >添加"颜色"
  • GET - >整合请求 - >类型:Lambda函数
  • GET - >整合请求 - > URL查询字符串参数 - >添加了name: colormapped: method.request.querystring.color

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

def handler(event, context):

    return event     // {}

我认为我无法使用 body mapping tamplates ,除非我没有使用GET的请求体。

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

1 个答案:

答案 0 :(得分:8)

使用 Lambda代理作为集成请求类型。

在你的处理程序中,

def handler(event, context):

    return {
        'statusCode': 200,
        'body': json.dumps(event),
    }

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

参考:Set up a Proxy Resource with the Lambda Proxy Integration