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

Jay*_*jan 3 amazon-s3 image-upload amazon-web-services aws-lambda aws-api-gateway

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

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

{"image" : $input.params('MediaUrl0')}
Run Code Online (Sandbox Code Playgroud)

我将如何在python中收到它:def read_upload_toS3(event,context):s3 = boto3.resource('s3')

bir*_*aum 5

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

{
  "body" : "$input.body"
}
Run Code Online (Sandbox Code Playgroud)

你也许还应该看看对这个问题的讨论.要在你的python函数中接收正文,就行了

def my_handler(event, context):
    body = event['body']
Run Code Online (Sandbox Code Playgroud)

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

  • 转到方法的" 集成请求"设置
  • 集成类型下, klick show advanced
  • 选择AWS Service Proxy
  • 选择S3 als AWS Service并填写必要的信息