我正在尝试从客户端发送一个文件并通过 AWS API 网关将其接收到我的 Lambda 函数,然后该函数会将此文件放入 S3 存储桶中。
我在 API 网关中使用了以下作为默认参数模板
{"image" : $input.params('MediaUrl0')}
我将如何在 python 中接收它,如下所示: def read_upload_toS3(事件,上下文): s3 = boto3.resource('s3')
最佳答案
您可以使用最近推出的 $input.body
映射模板中的变量:
{
"body" : "$input.body"
}
您也许还应该查看 this关于这个问题的讨论。要在 python 函数中接收正文,只需执行
def my_handler(event, context):
body = event['body']
但如果该函数的唯一目的是将文件上传到 S3,您也可以直接使用 API 网关执行此操作:
- 转到您的方法的集成请求设置
- 在集成类型下点击显示高级
- 选择AWS 服务代理
- 选择 S3 作为 AWS 服务并填写必要的信息
关于amazon-web-services - 如何将多部分形式的数据传递给 AWS Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36932213/