1

我用 Digitalocean 创建了一个 s3 空间。我在 django 项目中使用 ckeditor 将文件上传到这个文件中。我上传文件没有问题,但是当我尝试浏览我的服务器时遇到问题(查看图像是否已经存在)

这是我的代码:

session = boto3.session.Session()
client = session.client('s3', region_name='fra1', 
                              endpoint_url=settings.AWS_S3_ENDPOINT_URL,
                              aws_access_key_id=settings.AWS_ACCESS_KEY_ID, 
                              aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY
                        )

resp = client.list_objects(Bucket=settings.AWS_STORAGE_BUCKET_NAME)

在我调用函数 list_objects 的那一行发生了一个错误

An error occurred (NoSuchKey) when calling the ListObjects operation: Unknown

这真的很奇怪,因为我确定我的 settings.AWS_STORAGE_BUCKET_NAME 是正确的。此外,我确定 session.client 中没有错误,因为我使用相同的方法来上传文件,效果很好。

为了确保我的存储桶是正确的,我访问了我的 AWS_S3_ENDPOINT_URL 并获得了一个 XML

<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Name>[MY BUCKET NAME]</Name>
<Prefix/>
<MaxKeys>1000</MaxKeys>
<IsTruncated>false</IsTruncated>

之后开始列出<Contents>

谢谢您的帮助

4

0 回答 0