我正在关注下一个示例,以连接到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
答案 0 :(得分:0)
错误消息不是与您在"C:\Users\user.aws\credentials"
中拥有的凭据有关,而是与实例配置文件中缺少凭据有关。
类AWSInstanceProfileCredentialsProviderWithRetries
扩展了is的InstanceProfileCredentialsProvider
:
凭据提供程序实施,可从 Amazon EC2实例元数据服务
加载凭据
您正在执行的代码应该在EC2实例上运行,因此它希望获得instance role形式的凭据。此外,实例角色应该具有代码所需的所有必要权限,例如,使用Kinesis。
通过问题中提供的链接,尚不清楚应在何处正确执行示例代码。无论是自定义ec2实例,还是某些与胶水相关的托管实例。