从EC2实例本地访问Amazon S3存储桶

4

我有一个EC2实例和一个在同一地区的S3存储桶。该存储桶包含相当大(5-20MB)的文件,这些文件经常被我的EC2实例使用。

我想通过编程方式在我的EC2实例上打开文件(使用Python)。如下所示:

file_from_s3 = open('http://s3.amazonaws.com/my-bucket-name/my-file-name')

但是使用"http" URL 远程访问文件似乎效率极低,这肯定意味着每次想要使用文件都需要将其下载到服务器上。

我想知道的是,是否有一种方法可以从我的EC2实例本地访问S3文件,例如:

file_from_s3 = open('s3://my-bucket-name/my-file-name')

我自己找不到解决办法,希望能得到帮助,非常感谢。


你是如何获取文件的URL的?我正在尝试类似的事情http://stackoverflow.com/questions/40540258/retrieve-files-from-s3-and-put-them-in-to-ec2-linux-instance-using-java并且很好奇。 - Pete
1个回答

8
无论您做什么,对象都将从S3在后台下载到您的EC2实例中。这是无法避免的。
如果您想将存储桶中的文件视为本地文件,则需要安装多个针对FUSE的S3文件系统插件之一(例如:s3fs-fuse)。或者,您可以使用boto通过Python代码轻松访问S3对象。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接