Django检索S3存储桶中的文件列表

RCN*_*RCN 2 python django amazon-s3

我目前正在研究 django 与 S3 交互的方式。我发现 boto 库很有用,但对创建一个函数来返回特定存储桶内文件列表的名称很感兴趣,因此我可以循环遍历并仅下载其中通过特定目录的一部分。

import boto
from boto.s3.key import Key

def get_s3_filename_list(directory):

    bucket_name = AWS_BUCKET_NAME

    conn = boto.connect_s3(
        KEY_ID,
        ACCESS_KEY
    )

    bucket = conn.get_bucket(bucket_name)

    key = bucket.get_key(directory)
Run Code Online (Sandbox Code Playgroud)

但是,获取的键在 None 中返回。想知道是否有人有获取文件名列表的经验。

任何建议或链接将不胜感激。谢谢!

sco*_*ven 5

这应该有效。

from boto.s3.connection import S3Connection

conn = S3Connection(settings.AWS_ACCESS_KEY_ID,settings.AWS_SECRET_ACCESS_KEY)
bucket = conn.get_bucket(settings.MEDIA_BUCKET)

for key in bucket.list():
    print key.name
Run Code Online (Sandbox Code Playgroud)