AWS Lambda使用S3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS Lambda使用S3相关的知识,希望对你有一定的参考价值。

我想创建一个Python Lambda函数来获取上传的s3图像并创建它们的缩略图版本。

我有权限问题,我无法访问我的存储桶。我知道我需要创建一个存储桶策略。我不明白我如何制定适用于执行缩略图处理的lambda请求的策略?

答案

听起来你想要做以下事情:

  1. 只要将某些内容上传到您的存储桶,就会触发lambda
  2. 从存储桶中读取文件
  3. 将(缩略图)文件写回存储桶

您需要3个不同的权限才能执行此操作:

  1. S3服务需要权限来调用lambda函数(当您通过AWS Lambda控制台添加S3事件源时,这将为您完成)。
  2. lambda执行角色(在Lambda控制台的Configuration选项卡上选择的角色)将需要读/写访问权限来调用S3。您可以通过从下拉列表中选择IAM策略,然后选择所需的S3权限,在policy generator上为此生成策略。
  3. 为了增加安全性,您可以在S3上设置存储桶策略,以仅允许lambda函数访问它。您也可以通过选择S3策略从policy generator生成此信息。然后,您将输入lambda.amazonaws.com作为委托人。

以上是关于AWS Lambda使用S3的主要内容,如果未能解决你的问题,请参考以下文章

使用无服务器和 chrome-aws-lambda 节点包在 AWS Lambda 上找不到 Chrome 二进制文件

使用 AWS Lambda (NodeJS) 创建 AWS AppSync

从 AWS API Gateway Web 界面配置 AWS Lambda 时无法选择/查看 Lambda 函数

如何在 Lambda 函数中使用 AWS.CloudFront.Signer

AWS Lambda 别名简介

使用nodejs中的AWS Lambda函数上传音频文件