确定S3 Bucket Region

aze*_*elo 4 ruby amazon-s3 amazon-web-services

我正在使用AWS Ruby SDK v2来访问几个区域中的各种存储桶.是否有可能在我访问之前确定每个存储桶的(运行时)区域,因此我可以避免下面的错误,如果我使用错误的区域配置AWS S3客户端,我会得到这个错误?

您尝试访问的存储区必须使用指定的端点进行寻址.请将以后的所有请求发送到此端点.

我知道我可以使用下面的命令并解析响应,但理想情况下,我希望保留在Ruby SDK中.

aws s3api get-bucket-location

num*_*er5 5

我找不到任何官方文档,但是从aws-sdk规范中你应该可以使用以下代码来获取该区域

client = Aws::S3::Client.new()
resp = client.get_bucket_location(bucket: bucket_name)
s3_region = resp.data.location_constraint
Run Code Online (Sandbox Code Playgroud)

这个调用与API相同的API aws s3api get-bucket-location