我使用 BasicCredentials 來AmazonS3請求使用 AWS Java SDK v2。我正在嘗試使用相同的方法來提出IAmClient請求,但沒有找到一種方法來做到這一點。這是我用于 AmazonS3 請求的代碼:
BasicAWSCredentials awsCreds = new BasicAWSCredentials("accesskey", "secretey");
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withRegion(Regions.US_EAST_2)
.build();
withCredentials方法不適用于IAmClient. IAmClient有一個方法,credentialsProvider但它不接受BasicAWSCredentials. 這是我為 IAmClient 嘗試的代碼:
BasicAWSCredentials awsCreds = new BasicAWSCredentials("accesskey", "secretey");
IamClient iam = IamClient.builder().credentialsProvider(awsCreds)
.region(region)
.build();
當我運行它時,它說:
/home/jamshaid/IdeaProjects/AWSTestS3/src/main/java/test/ListUsers.java:40:錯誤:型別不兼容:com.amazonaws.auth.BasicAWSCredentials 無法轉換為 software.amazon.awssdk.auth.credentials.AwsCredentialsProvider
我也沒有找到任何相關檔案。我應該如何使用BasicAWSCredentialsIAmClient 請求?
uj5u.com熱心網友回復:
對于 Java SDK v2,您可以使用以下代碼片段:
Region region = Region.AWS_GLOBAL;
AwsBasicCredentials awsCreds = AwsBasicCredentials.create("ACCESS_KEY", "SECRET_ACCESS_KEY");
StaticCredentialsProvider credentialsProvider = StaticCredentialsProvider.create(awsCreds);
IamClient iam = IamClient.builder()
.credentialsProvider(credentialsProvider)
.region(region)
.build();
ListRolesResponse listRoles = iam.listRoles();
考慮到:
- 將區域設定為 Region.AWS_GLOBAL。否則,您將收到 UnknownHostException
- 確保您使用的是 Java SDK v2,因為它是對 v1 的重大更改,并且在之前的版本中不起作用
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/402878.html
標籤:
