在Intellij中运行Java应用程序时无法读取AWS SDK的环境变量
我是AWS SDK的新手。我正在尝试使用以下代码段将数据推送到Kinis:在Intellij中运行Java应用程序时无法读取AWS SDK的环境变量,java,amazon-web-services,intellij-idea,aws-sdk,Java,Amazon Web Services,Intellij Idea,Aws Sdk,我是AWS SDK的新手。我正在尝试使用以下代码段将数据推送到Kinis: AmazonKinesisClientBuilder clientBuilder = AmazonKinesisClientBuilder.standard(); clientBuilder.setCredentials(new EnvironmentVariableCredentialsProvider()); clientBuilder.setRegion(Regions.US_W
AmazonKinesisClientBuilder clientBuilder = AmazonKinesisClientBuilder.standard();
clientBuilder.setCredentials(new EnvironmentVariableCredentialsProvider());
clientBuilder.setRegion(Regions.US_WEST_2.getName());
AmazonKinesis kinesisClient = clientBuilder.build();
PutRecordRequest putRecordRequest = new PutRecordRequest();
putRecordRequest.setStreamName( "test" );
putRecordRequest.setData(ByteBuffer.wrap( String.format( "testData-%d", 1 ).getBytes()));
putRecordRequest.setPartitionKey( String.format( "partitionKey-%d", 1 ));
PutRecordResult putRecordResult = kinesisClient.putRecord( putRecordRequest );
System.out.println(putRecordResult.getSequenceNumber());
我设置了以下环境变量:
export AWS_PROFILE=default
export AWS_CREDENTIAL_PROFILES_FILE=~/.aws/credentials
export AWS_ACCESS_KEY_ID=temp
export AWS_SECRET_KEY=temp
~/.aws/config的内容如下:
[default]
region = us-west-2
[default]
aws_access_key_id = temp
aws_secret_access_key = temp
~./aws/证书的内容如下:
[default]
region = us-west-2
[default]
aws_access_key_id = temp
aws_secret_access_key = temp
现在,当我在Intellij中运行应用程序时,我在日志中发现以下错误:
Unable to load AWS credentials from environment variables (AWS_ACCESS_KEY_ID (or
AWS_ACCESS_KEY) and AWS_SECRET_KEY (or AWS_SECRET_ACCESS_KEY))
在这种情况下,我经历了以下几点:,但无法理解如何修复
我不知道,我在这里错过了什么。有人能帮忙吗?我在担任IAM角色时看到了这一点,解决办法是确保AWS STS库位于类路径上。在SBT中,我通过作为测试依赖项导入解决了这一问题:
libraryDependencies += "com.amazonaws" % "aws-java-sdk-sts" % awsSDKVersion % "test"
你使用什么操作系统?在哪里设置环境变量?如果在IntelliJ IDEA终端工具窗口中运行
env
命令,它们是否可见?我已经能够修复这个@CrazyCoder。我必须为Intellij安装AWS工具插件。