我正在尝试将 AWS 中的 Glue 模式注册表服务与 scala 一起使用(或者 java 也应该有用),并且我测试了两种承担角色的方法,但会导致错误:
"Unable to load credentials from any of the providers in the chain AwsCredentialsProviderChain(credentialsProviders=[SystemPropertyCredentialsProvider(), EnvironmentVariableCredentialsProvider(), WebIdentityTokenCredentialsProvider(), ProfileCredentialsProvider(), ContainerCredentialsProvider(), InstanceProfileCredentialsProvider()])"
我不想使用环境变量,所以我尝试 STS 使用以下代码承担角色:
val assumeRoleRequest = AssumeRoleRequest.builder.roleSessionName(UUID.randomUUID.toString).roleArn("roleArn").build
val stsClient = StsClient.builder.region(Region.EU_CENTRAL_1).build
val stsAssumeRoleCredentialsProvider = StsAssumeRoleCredentialsProvider.builder.stsClient(stsClient).refreshRequest(assumeRoleRequest).build
val glueClient = GlueClient
.builder()
.region(Region.EU_CENTRAL_1)
.credentialsProvider(stsAssumeRoleCredentialsProvider)
基于https://stackoverflow.com/a/62930761/17221117
我使用的第二种方法是使用以下AWS代码官方文档
但它也失败了......我不明白这是否会生成一个我应该使用的令牌,或者只是执行这个代码应该可以工作。
任何人都可以帮助我吗?