当前位置: 首页 > 面试题库 >

如何在Amazon s3存储桶中压缩文件并获取其URL

戚承业
2023-03-14
问题内容

我在Amazon s3存储桶中有一堆文件,我想压缩这些文件并使用Java Spring通过S3 URL下载获取内容。


问题答案:

S3不是文件服务器,也不提供操作系统文件服务,例如数据处理。

如果有很多“巨大”文件,那么最好的选择是

  1. 启动一个简单的EC2实例
  2. 将所有这些文件下载到EC2实例,进行压缩,然后使用新的对象名称将其重新上传回S3存储桶

是的,您可以使用AWS
lambda执行相同的操作,但是lambda的执行超时限制为900秒(15分钟)(因此建议分配更多的RAM以提高lambda的执行性能)

从S3到本地EC2实例等服务的流量是免费的。

如果您的主要目的只是使用EC2 / etc服务 读取 同一AWS区域内的那些文件,那么您无需执行此额外步骤。只需直接访问文件。

注意 :

建议使用AWS API访问和共享文件。如果打算公开共享文件,则必须认真研究安全问题并施加下载限制。AWS流量到互联网绝不便宜。



 类似资料:
  • 目前我正在使用pdfbox下载我服务器上的所有pdf文件,然后使用pdfbox将它们合并在一起。它的工作非常好,但它非常慢--因为我必须下载所有的。 有没有一种方法可以直接在S3上执行所有这些?我正在试图找到一种方法来实现它,即使不是在Java也是在python中,也无法做到这一点。 我读到了以下内容: 在S3 Amazon上合并文件 null null 编辑 最后我使用 并用 实现它。我设置了最

  • 我想从Azure blob存储中下载所有文件,从这些文件中创建一个zip文件,并将该zip文件上传到blob存储中。由于文件大小可能非常大,我不想最大限度地耗尽内存。而且这个操作需要非常快。 JAVA sdk-azure-storage-blob 12.8.0 编辑:到目前为止编写的代码。不确定如何进一步并行上载pipedinputstream数据。

  • 问题内容: 任何人都可以向我展示在我一直在搜索的Java中压缩和解压缩tar.gzip文件的正确方法,但是我能找到的最多是zip或gzip(单独)。 问题答案: 我最喜欢的是plexus-archiver-请参阅GitHub上的资源。 另一个选项是Apache commons- compress- (请参阅mvnrepository)。 使用plexus-utils,用于取消存档的代码如下所示:

  • 问题内容: 我想使用urllib下载文件,并在保存之前对文件进行解压缩。 这就是我现在所拥有的: 最终将写入空文件。我该如何实现自己的追求? 更新的答案: 问题答案: 在写完之后,但要传递给之前,您需要寻找到开始的地方。否则它将被模块从头读取,并显示为空文件。见下文:

  • 我正在使用Julia的ZipFile包来提取和处理csv文件。没问题,但是当我遇到zip文件中的zip文件时,我也想处理它,但是遇到了一个错误。 Julia ZipFile文档如下:https://zipfilejl.readthedocs.io/en/latest/ 对如何做到这一点有什么想法吗?

  • 使用Boto3,python脚本从S3桶中下载文件以读取它们,并将下载文件的内容写入名为的文件。 我的问题是,一旦脚本使用AWS Lambda函数,它将如何以相同的方式工作?