如何使用boto将zip文件上传到s3?

时间:2012-03-12 23:12:44

标签: python amazon-s3 boto

我压缩了一个包含多个子目录的文件夹。当我使用boto将其上传到s3时  通过这样阅读,

zipdata = open(os.path.join(os.curdir, zip_file), 'rb').read()

然后将所有子目录中的所有文件复制到根目录。这是s3中没有子目录。

如何将文件夹的zip文件上传到s3?

1 个答案:

答案 0 :(得分:0)

运行上面显示的命令后,zip_data将包含zip文件中包含的字节。如果您随后将该数据写入S3,您将在S3中获得包含该数据的单个对象(键)。这就是你想要的吗?

听起来您希望扩展zip文件,并将其中的所有单个文件和目录作为单个对象存储在S3中。如果是这种情况,则需要在本地扩展zip文件,然后遍历层次结构并将每个单独的文件存储在S3中。您可以使用boto中的s3put命令行工具为您执行此操作。

没有办法让S3自动为你自动解压缩zip文件的内容。