1

我正在尝试将 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代码官方文档

但它也失败了......我不明白这是否会生成一个我应该使用的令牌,或者只是执行这个代码应该可以工作。

任何人都可以帮助我吗?

4

0 回答 0