首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将文件从因特网下载到S3桶中

将文件从因特网下载到S3桶中
EN

Stack Overflow用户
提问于 2013-10-08 07:30:35
回答 4查看 25.7K关注 0票数 40

我想直接抓取互联网上的一个文件,然后把它放到一个S3桶中,然后复制到一个猪集群中。由于文件的大小和我不太好的互联网连接,首先下载文件到我的电脑,然后上传到亚马逊可能不是一个选择。

有什么办法可以让我抓取互联网上的文件并将其直接粘贴到S3中吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-08 13:43:10

我早在2013年就给出了原来的答案。今天,我建议使用拉姆达下载一个文件并将其放到S3上。这是想要的效果--将一个对象放置在S3上,而不涉及服务器。

原来的答案是不可能直接做的。

为什么不用EC2实例而不是本地PC来实现呢?上传速度从EC2到S3在同一地区是非常好的。

关于从/写到s3的流读写,我使用python的打开

票数 15
EN

Stack Overflow用户

发布于 2017-10-29 16:45:08

通过curl下载数据,并将内容直接输送到S3。数据直接流到S3,而不是本地存储,从而避免了任何内存问题。

代码语言:javascript
复制
curl "https://download-link-address/" | aws s3 cp - s3://aws-bucket/data-file

正如上面所建议的,如果本地计算机上的下载速度太慢,那么启动一个EC2实例ssh并在那里执行上面的命令。

票数 39
EN

Stack Overflow用户

发布于 2015-04-03 23:02:04

对于没有经验的人(像我一样),下面是通过EC2对这个过程进行更详细的描述:

  1. 在与目标EC2桶相同的区域中启动S3实例。最小的可用实例(默认的Amazon )应该是可以的,但是一定要给它足够的存储空间来保存您的文件。如果您需要超过20 an /s的传输速度,请考虑选择一个具有较大管道的实例。
  2. 启动到新EC2实例的SSH连接,然后下载文件,例如使用wget。(例如,要通过FTP下载整个目录,可以使用wget -r ftp://name:passwd@ftp.com/somedir/。)
  3. 使用AWS (参见Amazon文档),将文件上传到S3桶中。例如,aws s3 cp myfolder s3://mybucket/myfolder --recursive (用于整个目录)。(在此命令开始工作之前,您需要将S3安全凭据添加到配置文件中,如Amazon文档所述。)
  4. 终止/销毁EC2实例。
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19241671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档