如何解决使用 Java 在 ECS 中刷新 AWS 令牌和密钥
我可以从 169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI(请参阅 https://aws.amazon.com/premiumsupport/knowledge-center/ecs-fargate-access-aws-services/)获取 ECS 容器中的令牌和机密。
AWS Java SDK v1 似乎包装了这个:https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/index.html?com/amazonaws/auth/ContainerCredentialsProvider.html
它似乎还提供了检查到期日期和刷新检索数据的方法。
AWS Java SDK v2 似乎也包装了这个:https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/EC2ContainerCredentialsProviderWrapper.html
虽然它没有给出到期日期,那么这意味着如何使用?我得到的印象是令牌持续时间不到一天。
AWS Java SDK v2 似乎也以另一种方式包装:https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/auth/credentials/ContainerCredentialsProvider.Builder.html
它不提供刷新方法或到期日期,但父类(https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/auth/credentials/HttpCredentialsProvider.Builder.html)允许您设置是否异步刷新,并设置线程名称(大概是为了处理异步刷新)但是没有关于如何使用 asyncThreadName 的文档。
那么我如何获得令牌和秘密并知道如何/何时刷新它们?
解决方法
根据 AWS Support 的说法,添加对 asyncCredentialUpdateEnabled(true) 的调用可在后台进行刷新,无需任何进一步操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。