amazon-web-services - 如何将多部分形式的数据传递给 AWS Lambda

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

我正在尝试从客户端发送一个文件并通过 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/

相关文章:

amazon-web-services - AWS 代码构建 - S3 存储桶中未生成报告

apache-spark - 写入 S3 时,为什么我收到 FileNotFoundException

node.js - 如何在 webpack 编译期间禁止替换 process.env 变量?

ruby-on-rails - Rails应用程序无法在AWS Elastic Beanstalk上运行,sqlite3错误

amazon-web-services - Firebase 身份验证与 AWS Cognito

ruby-on-rails - 没有这样的文件或目录(public/assets/manifest*)

hadoop - Hadoop 中 HDFS 以外的文件系统如何使用数据局部性?

python - 如何使用AWS部署多个TensorFlow模型?

java - 调用 AWS Lambda Java 函数的 AWS 网关收到空正文

amazon-web-services - AWS Lambda 函数未保存在 VPC 选择上