使用HTTP端点时,如何将GET参数传递给AWS Lambda函数?

时间:2016-01-07 03:05:34

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

我按照此处的示例设置示例AWS Lambda函数:http://docs.aws.amazon.com/lambda/latest/dg/get-started-step4-optional.html

然后,我通过AWS API Gateway创建了一个HTTP GET端点。我可以访问端点,但我不知道如何将int myCount作为参数传递。

我尝试?myCount=3作为GET参数但是没有用。

任何帮助?

3 个答案:

答案 0 :(得分:3)

您需要在API网关中设置mapping template。如果您提前知道参数的名称,则模板可能如下所示:

{
  "myCount": "$input.params('myCount')",
  "myUserId": "$input.params('myUserId')"
}

在评估每个$input.params('...')时,将事件传递给Lambda时,查询字符串中的值将放在其位置。

这几乎与passing query params for aws lambda function

重复

答案 1 :(得分:0)

为了将HTTP参数发送到lambda函数,需要通过映射模板在请求体中发送它们。

有关如何执行此操作的简单示例,请参阅此blog post

答案 2 :(得分:0)

这是另一种方法:

  1. 打开API网关,选择您的终端并点击资源

  2. 在设置

    中选择方法请求

    enter image description here

  3. 网址查询字符串参数下,您可以添加查询字符串。

    enter image description here

  4. 举个例子,在我的Python lambda函数中,我可以使用以下代码检索查询参数:

    def endpoint(event, context):
        my_parameter = event["queryStringParameters"]