java - 如何在AWS lambda函数执行期间在AWS S3存储桶中写入文件?

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

我需要使用 docx4j 和 iText 生成文件的(.docx , .pdf)。最终生成的文档应使用 AWS lambda 函数存储在 S3 存储桶中。

我尝试了几个选项,但没有一个解决方案适合我。我可以使用我的 java 代码将本地文件上传到 S3 存储桶并将普通文本文件写入 AWS S3 存储桶。

但是我的要求是,首先我必须为所需位置(即 S3 存储桶)创建文件路径(.docx,.pdf),然后调用我的代码来生成文件(.docx,.pdf)并将其保存到S3存储桶。

注意:我希望调用我的 save 方法(lambda 处理程序),它将直接将文件保存在 S3 存储桶中。或者无论哪种方式,如果 s3 不允许直接保存文件,那么 aws 提供什么替代方案来在本地/临时保存文件,以便稍后我可以将这些临时文件推送到 s3 存储桶中?

如果有人致力于此工作或知道如何做到这一点,请分享他们的意见。

最佳答案

有两种方法可以做到这一点。第一种方法是先将文件存储在 /tmp/ 中,然后使用 putobject API 上传到 s3,并指定存储桶和键名。

第二种方法是使用相同的 putobject 但指定您的对象,直接将对象上传到 s3。

有关此内容的文档可以在 here 中找到。

详细示例请参见 here

关于java - 如何在AWS lambda函数执行期间在AWS S3存储桶中写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57332983/

相关文章:

amazon-web-services - 连接亚马逊RDS服务

shell - 如何获取两个 S3 存储桶之间的文件差异?

java - @OrderColumn、@OneToMany & 用于集合的空索引列

java - 服务器没有响应

node.js - AWS EC2 上的 NodeJS : Cannot load public/images folder

amazon-web-services - AWS Lambda event.requestContext.identity.cognitoIdentityId 返回 null

java - 配置 maven-war-plugin 以使用 java 7

java - SWT - 在对话框关闭时删除 ListChangeListener

amazon-web-services - 如何在 CloudFormation 中添加带有 S3 触发器的 Lambda 函数?

amazon-s3 - S3 存储桶有总大小限制吗?