DigitalOcean Spaces 调用 list_buckets returns 无

DigitalOcean Spaces Call list_buckets returns nothing

我在网上看到很多人对此有疑问,现在我 运行 自己解决了这个问题。我正在尝试在 DigitalOcean Spaces 中使用 boto3 到 list_buckets。它 returns 一个 200 状态代码,但是里面没有列出任何桶。奇怪的是,我可以通过代码创建一个bucket,但是我不能列出来。

人们报告说他们在使用不同的端点 URL 时取得了成功。我使用了以下内容:

他们两个都不走运。

import boto3
s3 = boto3.client('s3', region_name=region, endpoint_url=endpoint, aws_access_key_id=access_id, aws_secret_access_key=secret_key)
s3.list_buckets()

list_bucketsreturns以下回复。

{'ResponseMetadata': {'RequestId': 'tx00000000000010c9ce0be-0061b571d4-1800930a-nyc3c', 'HostId': '', 'HTTPStatusCode': 200, 'HTTPHeaders': {'transfer-encoding': 'chunked', 'x-amz-request-id': 'tx00000000000010c9ce0be-0061b571d4-1800930a-nyc3c', 'content-type': 'application/xml', 'date': 'Sun, 12 Dec 2021 03:51:48 GMT', 'strict-transport-security': 'max-age=15552000; includeSubDomains; preload'}, 'RetryAttempts': 0}}

我明白了。我创建了我的 DigitalOcean space 并将其命名为 foobar-development。我设置了endpoint='https://nyc3.digitaloceanspaces.com'。当我执行 list_buckets 时,我收到一个包含我的 space 名字 foobar-development 的响应。所以看起来“bucket”和“space”是同义词。我以为它们是分开的,我会在 space 中创建存储桶然后访问它,但没有。它不是这样工作的。