python - 在 AWS Lambda 中访问 GET 参数

标签 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 ?color=red

我已经按照 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     // {}

我认为我无法使用正文映射模板,除非我没有使用 GET 的请求正文。

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

最佳答案

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

在你的处理程序中,

def handler(event, context):

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

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

引用:Set up a Proxy Resource with the Lambda Proxy Integration

关于python - 在 AWS Lambda 中访问 GET 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46468861/

相关文章:

amazon-s3 - 在 Amazon S3 中移动/修改文件/文件夹的命令行工具

python - 在 Serverless Lambda 函数中访问/tmp 或其他临时文件结构

r - AWS lambda R 运行时段错误

python - 使用不同的类型和消息重新引发异常,保留现有信息

amazon-web-services - CNAME转s3桶式亚马逊

Python struct.pack()/calcsize()

ios - 如何使用iOS sdk在运行时更改AWS的区域?

amazon-web-services - 禁用 AWS Lambda 环境变量

Python 字典 : Create a list for all keys in dict, 另一个用于字典中的所有值

python - 使用Python CSV分析数据