我有一个在 AWS Fargate 上运行的 Java 应用程序。出于安全原因,Regions.getCurrentRegion() 从 AWS Fargate 中返回 null
是否有另一种方法来确定 fargate 容器在哪个区域运行?
我有一个在 AWS Fargate 上运行的 Java 应用程序。出于安全原因,Regions.getCurrentRegion() 从 AWS Fargate 中返回 null
是否有另一种方法来确定 fargate 容器在哪个区域运行?
在 Fargate 中,当前区域可通过AWS_REGION
环境变量获得。
如果您使用的是 AWS java sdk,您可以链接 AwsRegionProvider
和抽象出围绕区域检索的逻辑。如果您使用凭据配置文件,或者环境变量发生更改,或者它最终在TaskMetadata中可用,您可以链接区域提供程序,以便您可以在任何可用的地方获取区域。这还允许您重用可能在不同类型的 AWS 基础设施上运行的代码。
您将构造一个AwsRegionProviderChain
并传入每个相关的实例,例如AwsRegionProvider
等。AwsEnvVarOverrideRegionProvider
AwsProfileRegionProvider