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

标签 python amazon-s3 boto

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

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

然后将所有子目录中的所有文件复制到根目录。即 s3 中不存在子目录。

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

最佳答案

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

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

无法让 S3 本身自动为您解压 zip 文件的内容。

关于python - 如何使用 boto 将 zip 文件上传到 s3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9676127/

相关文章:

python - Bitnami-/opt/bitnami/python/bin/.python2.7.bin : error while loading shared libraries: libreadline. so.5

python - selenium.common.exceptions.WebDriverException : Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium

用于启用单元测试的Python包结构('Parent module not loaded'错误)

python - AWS Glue - 从 sql server 表读取并作为自定义 CSV 文件写入 S3

laravel - 带有排队事件的图像上传

python-2.7 - 使用 .boto 谷歌云存储 API 进行身份验证

python - 字谜解算器不工作

javascript - 如何找到我刚刚上传到 S3 的流的总大小?

python - 使用 django-storages 和 S3boto 设置文件权限不公开

python - 如何为 Amazon SimpleDB 转义 Python boto 的 SelectExpression