【问题标题】:Unable to download files from S3 bucket无法从 S3 存储桶下载文件
【发布时间】:2017-02-16 01:54:14
【问题描述】:

我想从这个路径All Buckets /abc/or/uploads的 S3 存储桶中下载所有文件

我用这个 sn-p 试过,但只设法在All Buckets /abc 中获取文件

更改bucket_list = bucket.list('or/uploads') 中的路径 这条线不工作?为什么?

import boto
import sys, os
import logging

bucket_name = 'abc'
conn = boto.connect_s3('XXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXX+XXXXXXXXXXXXXX')
bucket = conn.get_bucket(bucket_name)
bucket_list = bucket.list('or/uploads')

for key in bucket.list():
    try:
        res = key.get_contents_to_filename(key.name)
        print "done"
    except:
        logging.info(key.name + ":" + "FAILED")

【问题讨论】:

  • 什么意思,它不工作?你遇到了什么错误?您没有在您发布的代码中的任何地方使用bucket_list
  • @magni- 没有错误,程序只是运行并完成执行,但是当我在 for 循环中使用 bucket_list 时没有下载文件,而当我在此路径中使用上述代码文件时,只会下载 @ 987654327@
  • 你试过/or/uploads吗?
  • 你到底在说什么?在哪一行bucket_list = bucket.list('or/uploads')我想我已经用过这条路了

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


【解决方案1】:

Amazon S3 没有文件夹/目录。它是一个平面文件结构。 为了保持目录的外观,路径名存储为对象键(文件名)的一部分。

确保您下载文件的位置具有完全相同的结构,即/abc/or/uploads

sn-p

for key in bucket.list('or/uploads'):
    try:
        res = key.get_contents_to_filename(key.name)
        print "done"
    except:
        logging.info(key.name + ":" + "FAILED")

Source

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-24
    • 2015-05-20
    • 2013-10-15
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 2019-05-30
    相关资源
    最近更新 更多