Java 使用AWSEC2将大量文件放入S3存储桶
我正在尝试将大量文件(约50 TB)下载到S3存储桶中。问题是这些文件只能通过网站上的各种下载链接访问(它们不在我的硬盘上)。我可以直接将一小部分数据下载到自己电脑的硬盘上,上传到S3存储桶,从硬盘上删除,然后重复另一部分,但我担心这样做会花费太长时间,占用太多带宽。相反,我希望我可以使用一个EC2实例来做同样的事情,正如本文的回答者所建议的那样,但是我很难用Java来做这件事 使用Java,请求和启动EC2实例看起来非常清晰;然而,实际使用实例会变得有点模糊。我知道您可以使用EC2管理控制台直接连接到实例,我可以在连接到实例时手动运行脚本,下载并上载文件,不过我更喜欢从我的计算机运行脚本,创建EC2实例,然后使用实例来完成我的目标。这是因为以后在我的项目中,我将每天从同一个网站下载一个文件,在我的计算机上使用Windows计划任务管理器运行脚本比让EC2实例每天24小时运行要便宜Java 使用AWSEC2将大量文件放入S3存储桶,java,amazon-web-services,amazon-s3,amazon-ec2,Java,Amazon Web Services,Amazon S3,Amazon Ec2,我正在尝试将大量文件(约50 TB)下载到S3存储桶中。问题是这些文件只能通过网站上的各种下载链接访问(它们不在我的硬盘上)。我可以直接将一小部分数据下载到自己电脑的硬盘上,上传到S3存储桶,从硬盘上删除,然后重复另一部分,但我担心这样做会花费太长时间,占用太多带宽。相反,我希望我可以使用一个EC2实例来做同样的事情,正如本文的回答者所建议的那样,但是我很难用Java来做这件事 使用Java,请求和启动EC2实例看起来非常清晰;然而,实际使用实例会变得有点模糊。我知道您可以使用EC2管理控制台直
简单地说,如何使用Java来使用EC2实例 我首先要指出,下载/上传50TB的数据 选项1-使用Java实现 您正在做的事情可以通过。您需要开发一个应用程序,下载所需的文件,然后使用SDK将这些文件上传到您的S3存储桶 我建议您不要使用这种方法,因为您将为带宽支付两倍的费用,首先是EC2实例,然后是S3存储桶。还有更简单的方法 选项2-使用Lambda进行操作 按照您链接的答案中的建议,使用将远程文件上载到S3存储桶。您可以编写Java、NodeJS等,这将降低带宽成本,也意味着您不需要启动并部署到任何EC2实例 其他要点 关于从本地机器上运行一些东西并每天进行处理,我会在您完成初始上传后考虑解决这个问题。试图同时解决这两个问题可能会让你头疼 最后,另一个选择可能是服务。他们将向您发送一个或多个物理设备,您将填充这些设备并将其发送回。可能不适合您的用例,但值得一提
警告—对于50 TB的数据,请注意下载和上载时将产生的带宽费用。您的解决方案需要两个不同的阶段: