可以在不使用 s3 bucket region 的情况下创建 s3Client 吗?

0

【以下的问题经过翻译处理】 我需要构建 s3Client 以获取我正在使用的 s3 存储桶的状态。现在,我的问题是在使用 AwsBuilderService 的 s3Client 方法创建 s3Client 时,它要求我提供存储桶的区域,但我并没有从我的用户那里获得到这个信息。解决方案是以编程方式获取 s3 存储桶区域,而这又需要 s3Client。那么这个问题是否有任何解决方法,比如我们可步可以在不传递 s3 存储桶区域的情况下创建 s3Client。或者是我们可以在不使用 s3Client 的情况下以编程方式获取 s3 存储桶区域吗?任何帮助都会很棒。

1 回答
0

【以下的回答经过翻译处理】 据我所知,要访问 s3 存储桶,您需要连接到存储桶所在区域中的 s3 端点,因此客户端需要区域参数(以便获得端点)....点击[此处]查看更多信息(https://docs.aws.amazon.com/general/latest/gr/s3.html)。

有一个使用多区域 访问点的功能,在这种情况下,您需要为 s3 client提供访问点而不是直接提供桶

你在什么平台上运行 s3 客户端?如果是在 Lambda 上,您可以从环境变量 AWS_REGION 中看到 lambda 运行的区域,ECS 和 EC2 中也有类似的情况,可以通过元数据服务收集服务所在的区域。如果平台和存储桶位于或可能位于不同的区域,我建议使用 SSM 参数来存储存储桶的区域,您的应用程序可以获取参数以获取正确的区域

profile picture
专家
已回答 10 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则