无法加载 AWS 凭证

Unable to load AWS Credentials

我正在按照下一个示例连接到 Amazon Kinesis Data Streams 并将连接的结果以镶木地板格式输出到 Amazon S3:https://docs.aws.amazon.com/glue/latest/dg/glue-etl-scala-example.html

当我配置与 AWS 的连接并尝试 运行 它时,它会抛出下一个找不到凭据的错误,我已在 "C:\Users\user.aws\credentials" 中分配,我还添加了环境变量:

AWS_ACCESS_KEY_ID=XXX
AWS_SECRET_ACCESS_KEY=XxXX

但仍然失败:

 ERROR AWSInstanceProfileCredentialsProviderWithRetries: Got an exception while fetching credentials org.apache.s
park.sql.kinesis.shaded.amazonaws.SdkClientException: Unable to load credentials from service endpoint

错误消息不是关于您在 "C:\Users\user.aws\credentials" 中拥有的凭据,而是关于实例配置文件中缺少凭据。

class AWSInstanceProfileCredentialsProviderWithRetries 扩展 InstanceProfileCredentialsProvider 其中 is:

Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service

您正在执行的代码应该在 EC2 实例上 运行,因此它期望从 instance role 中获取凭据。更重要的是,实例角色应该拥有您的代码所需的所有必要权限,例如,使用 Kinesis。

从您的问题中提供的 link 来看,不清楚应该在何处执行示例代码。无论是自定义的ec2实例,还是一些胶水相关的托管实例。