我用 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>
谢谢您的帮助