如何将多部分表单数据传递给AWS Lambda

时间:2016-04-29 07:29:01

标签: amazon-web-services amazon-s3 aws-lambda image-upload aws-api-gateway

我正在尝试从客户端发送文件并通过AWS API Gateway将其接收到我的Lambda函数,然后将该文件放入S3存储桶中。

我在API网关中使用了以下默认参数模板

{"image" : $input.params('MediaUrl0')}

我将如何在python中收到它,如下所示: def read_upload_toS3(事件,上下文):         s3 = boto3.resource('s3')

1 个答案:

答案 0 :(得分:5)

您可以在映射模板中使用最近引入的$input.body变量:

{
  "body" : "$input.body"
}

您也可以查看有关此问题的this讨论。要在python函数中接收正文,只需执行

def my_handler(event, context):
    body = event['body']

但如果该功能的唯一目的是将文件上传到S3,您也可以直接使用API​​网关执行此操作:

  • 转到方法的集成请求设置
  • 整合类型下,点击显示高级
  • 选择 AWS Service Proxy
  • 在AWS服务中选择 S3 并填写必要的信息