从 EC2 实例本地访问 Amazon S3 存储桶
Posted
技术标签:
【中文标题】从 EC2 实例本地访问 Amazon S3 存储桶【英文标题】:Local access to Amazon S3 Bucket from EC2 instance 【发布时间】:2014-07-28 22:53:24 【问题描述】:我在同一区域有一个 EC2 实例和一个 S3 存储桶。存储桶包含我的 EC2 实例经常使用的相当大 (5-20mb) 的文件。
我想以编程方式打开我的 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 的?我正在尝试做类似***.com/questions/40540258/… 的事情并且很好奇。 【参考方案1】:无论您做什么,该对象都会在后台从 S3 下载到您的 EC2 实例中。这是无法避免的。
如果您想将存储桶中的文件视为本地文件,您需要为 FUSE 安装多个 S3 文件系统插件中的任何一个(例如:s3fs-fuse)。或者,您可以使用 boto 通过 python 代码轻松访问 S3 对象。
【讨论】:
以上是关于从 EC2 实例本地访问 Amazon S3 存储桶的主要内容,如果未能解决你的问题,请参考以下文章
django staticfiles amazon S3 的问题
如何将文件从远程服务器传输到我的 Amazon S3 实例?
AWS S3 存储桶策略:如何授予对 EC2 实例的访问权限?