【问题标题】:How to store files to AWS S3 using java AWS lambda?如何使用 java AWS lambda 将文件存储到 AWS S3?
【发布时间】:2019-08-21 02:06:30
【问题描述】:

如何使用 java AWS lambda 将文件存储到 AWS S3?我创建了 S3 存储桶和 IAM 用户并授予用户“S3AccessPermision”权限。

【问题讨论】:

  • 您是否要求上传文件的方法?您是否阅读过适用于 Java 的 AWS 开发工具包文档?例如:Performing Operations on Amazon S3 Objects - AWS SDK for Java
  • 是的,我想要上传文件的方法。我尝试了一些方法,但我还是没有得到,因为我是 AWS Lambda 的新手。请提供链接以供参考。

标签: java amazon-web-services amazon-s3 aws-lambda


【解决方案1】:

要将文件存储到您的 S3 存储桶,请按照以下步骤操作:

  • 打开要存储文件的存储桶,单击 属性并编辑策略和权限。这将允许 用户读取和写入存储桶。

存储桶政策:

{
 “Sid”: “PublicReadGetObject”,
 “Effect”: “Allow”,
 “Principal”: “*”,
 “Action”: “s3:GetObject”,
 “Resource”: “arn:aws:s3:::bucket-name/*”
 }
  • 允许 Lambda 担任 IAM 角色:

  • 转到 IAM 控制台,在导航窗格中,选择 角色,然后 选择 Create Role For Select type of trust entity,选择 AWS 服务,然后选择 Lambda 作为将使用此服务的服务 角色。然后选择下一步:权限。

  • 对于附加权限策略,选择AWSLambdaBasicExecutionRole。 这允许 Lambda 写入您的 CloudWatch Logs 资源。然后 选择下一步:审核。
  • 添加角色名称和角色描述。然后选择 创建角色以完成创建 IAM 角色。
  • 转到您的 Lambda 控制台并创建一个函数。在权限 Section → 选择或创建现有角色,附上创建的角色 在具有基本 lambda 执行权限的 IAM 控制台中。
  • 将 java 代码上传到您的 lambda 函数并点击 'Test' 按钮调用 lambda 函数。执行函数后, 您可以检查是否已在 S3 存储桶中创建了输出文件 在代码中指定。

【讨论】:

  • 这里似乎不需要 S3 存储桶策略。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
  • 2019-07-06
  • 2018-06-08
  • 2020-09-15
相关资源
最近更新 更多