列出DigitalOcean Bucket中的所有对象

问题描述 投票:0回答:2

我需要列出我的数字海洋空间中存储桶中的所有对象。这是我现在的代码。

s3 = boto3.resource('s3', region_name=region_name, endpoint_url=endpoint_url, aws_access_key_id=key, aws_secret_access_key=secret)

bucket = s3.Bucket(bucket_name)

for object in bucket.objects.all():
    print(object)

引发以下异常

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

任何关于可能出现问题或我需要添加的内容的想法。谢谢!

python-3.x amazon-s3 boto3
2个回答
1
投票

我没有发现您的代码有任何语法或语义问题。您可能会遇到问题,因为如果对象的路径包含任何空格对象名称包含任何特殊字符或 URL 编码字符

请参阅 AWS 的排查 404“NoSuchKey”错误文档。我建议检查本文档中的最后三个项目符号。


0
投票

在我的例子中,我用于 Digital Ocean 的端点 URL 包含存储桶名称

从端点中删除存储桶名称使其正常工作

例如:

无法使用此网址:

https://some-bucket-name.nyc3.digitaloceanspaces.com

此端点网址有效:

https://nyc3.digitaloceanspaces.com

© www.soinside.com 2019 - 2024. All rights reserved.