У меня есть метод ниже, чтобы вернуть AmazonS3 для загрузки документов. В локальной среде я должен подключиться к корзине s3 в другом регионе, но в других средах корзина s3 и код приложения совпадают с регионом aws.
public AmazonS3 getAmazonS3Client() {
if ("local".equals(hostEnvironment)) {
final AssumeRoleRequest roleRequest = new AssumeRoleRequest()
.withRoleArn("arnrole").withRoleSessionName("s3Session");
final AssumeRoleResult assumeRoleResult = AWSSecurityTokenServiceAsyncClientBuilder.defaultClient()
.assumeRole(roleRequest);
final Credentials sessionCredentials = assumeRoleResult.getCredentials();
final BasicSessionCredentials basicSessionCredentials = new BasicSessionCredentials(
sessionCredentials.getAccessKeyId(), sessionCredentials.getSecretAccessKey(),
sessionCredentials.getSessionToken());
return AmazonS3Client.builder().withRegion("us-east-2").withCredentials
(new AWSStaticCredentialsProvider(basicSessionCredentials)).build();
} else {
return AmazonS3Client.builder().withRegion("us-east-2").withCredentials
(new InstanceProfileCredentialsProvider(true)).build();
}
}
При выполнении я получаю исключение ниже из местного, что мне здесь не хватает?
Причина: com.amazon aws .SdkClientException: Невозможно найти регион через цепочку поставщиков региона. Должен предоставить явный регион в сборщике или настройке среды для предоставления региона. в com.amazon aws .client.builder.AwsClientBuilder.setRegion (AwsClientBuilder. java: 462) в com.amazon aws .client.builder.AwsClientBuilder.configureMutableProperties (Aws: 424). .amazon aws .client.builder. 1008 *