可以在不使用 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
전문가
답변함 5달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인