如何列出所有区域的aws帐户中的所有存储桶

我的 aws 帐户中有两个存储桶。两者在不同的地区。当我尝试使用 list_bucktes() 列出它们时,它只打印一个区域的桶。这是代码片段:

s3=boto3.client("s3",aws_access_key_id=access_key_id,aws_secret_access_key=secret_key)
bucket_response=s3.list_buckets()

print(bucket_response)

我希望它打印所有存储桶,而不管区域如何。

回答

S3 不是基于区域的服务,API ListBuckets 调用甚至不支持任何参数。它总是列出所有区域中的所有桶:

https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html#API_ListBuckets_RequestParameters

在 boto3 中,它甚至说:https ://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.list_buckets
“返回经过身份验证的发件人拥有的所有存储桶的列表请求。”

SOAP API
https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPListAllMyBuckets.html

问题可能在于发件人不是所有者吗?例如,存储桶是从另一个帐户与您共享的?


以上是如何列出所有区域的aws帐户中的所有存储桶的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>