从EC2实例本地访问Amazon S3 Bucket

时间:2014-06-08 03:17:23

标签: python amazon-web-services amazon-ec2 amazon-s3

我在同一区域有一个EC2实例和一个S3存储桶。该存储桶包含我的EC2实例定期使用的相当大的(5-20​​mb)文件。

我想以编程方式在我的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')

我自己找不到解决方案,感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:8)

无论您做什么,该对象都将从S3下载到您的EC2实例的幕后。这无法避免。

如果要将存储桶中的文件视为本地文件,则需要为FUSE安装多个S3文件系统插件中的任何一个(例如:s3fs-fuse)。或者,您可以使用boto通过python代码轻松访问S3对象。