2012-05-05 149 views
2

我想在我的EC2实例上安装一些Python模块。我有我需要在S3存储桶上进行安装的文件。我也可以通过Python boto从我的EC2实例连接到S3存储桶,但是我无法访问存储桶内容以获取我需要安装的源文件。如何从EC2实例导航到S3存储桶文件夹?

回答

2

使用s3cmd工具(http://s3tools.org/s3cmd)可以下载/上传存储在存储桶中的文件。

+2

谢谢,工作很棒:)。对于那些查看这篇文章的人来说,您需要使用s3cmd get命令从S3存储桶和s3cmd同步下载文件以同步整个目录树 – user1261046

5

以防万一你想通过博托获得在Python中的文件,这里有一个简单的例子:

https://gist.github.com/1925584

而如果你不喜欢以下链接:

import boto 
import os 

def download_keys(bucket_name, dst_dir): 
    """ 
    Very simple example showing how to download all keys in a bucket. 
    Assumes key names don't include path separators. Also assumes that 
    you don't have zillions of objects in the bucket. If you have a lot 
    you would want to get several download operations going in parallel. 
    """ 
    s3 = boto.connect_s3() 
    bucket = s3.lookup(bucket_name) 
    for key in bucket: 
     path = os.path.join(dst_dir, key.name) 
     key.get_contents_to_filename(path) 
+0

可能希望将此代码粘贴到您的答案中,以便答案没有依靠外部网站。 –

相关问题