我想从互联网上下载几个大文件(特别是从网站PushShift的Reddit每月提交)到一个S3桶。我使用SSHed进入一个EC2实例,并且运行了一台Jupyter笔记本。
理想情况下,我希望能够在我的EC2实例的Jupyter notebook中编写一个Python脚本,它从互联网上下载文件,然后将其推送到我的S3存储桶中。我该怎么做呢?
发布于 2020-07-03 07:28:22
“从互联网下载数据到亚马逊S3”是不可能的。
亚马逊S3是一种对象存储服务。您可以将数据上传到S3并从S3下载数据,但不可能告诉S3从其他位置下载数据并将其存储在中。
你需要一个在某个地方运行的程序,它从互联网上获取数据,然后在亚马逊S3中上传(创建一个对象)。这样的程序可能足够聪明,可以通过下载内存中的内容,然后将其发送到S3,从而将数据“流式”传输到S3,而不必在两者之间保存到磁盘,但您需要编写代码。
至于这样的程序可能在哪里运行,最有效的做法是作为AWS Lambda函数或在与亚马逊S3存储桶位于同一区域的亚马逊EC2实例上运行此类代码。
由于您在亚马逊EC2实例上运行Jupyter笔记本,因此最简单的方法是将文件下载到本地存储,然后将其上传到S3。
https://stackoverflow.com/questions/62702724
复制相似问题