我们如何使用 AWS Fargate 确定当前区域

How can we determine the current region with AWS Fargate

我在 AWS Fargate 上有一个 Java 应用程序 运行。出于安全原因,来自 AWS Fargate 的 Regions.getCurrentRegion() returns null

是否有其他方法可以确定 Fargate 容器 运行 在哪个区域?

在 Fargate 中,当前区域可通过 AWS_REGION 环境变量获得。

如果您使用的是 AWS java sdk,您可以链接 AwsRegionProvider and abstract out logic around region retrieval. If you use a credentials profile, or the environment variable changes, or it eventually becomes available in TaskMetadata 您可以链接区域提供商,以便您可以在任何可用的地方获取区域。这还允许您在不同类型的 AWS 基础设施上重用可能 运行 的代码。

您将构造一个 AwsRegionProviderChain 并传入每个相关 AwsRegionProvider 的实例,例如 AwsEnvVarOverrideRegionProviderAwsProfileRegionProvider