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

0

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

1 Antwort
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
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen