Я пытаюсь подключиться к S3 bucket и загружать файлы, но код выдает исключение:
В моем коде у меня
ProfileCredentialsProvider pcp = new ProfileCredentialsProvider("assumed_role");
bucketName = "dev-data-extract-service-bucket";
s3Client = AmazonS3ClientBuilder.standard().withCredentials(pcp).withRegion(Regions.US_EAST_1.toString()).build();
Я получаю исключение NullPointerException при вызове следующей строки:
fullObject = s3Client.getObject(new GetObjectRequest(bucketName, "TR09_20190205.detail"));
Причина в том, что значение хоста в конечной точке равно нулю. Это из класса AmazonS3Client
private boolean isStandardEndpoint(URI endpoint) {
return endpoint.getHost().endsWith("s3.amazonaws.com");
}
. Далее следует трассировка стека
[main] DEBUG com.amazonaws.AmazonWebServiceClient - внутреннее ведение журнала успешно настроено для средства регистрации общего пользования: true 15: 43: 45.183 [main] DEBUG com.amazonaws.metrics.AwsSdkMetrics - администратор mbean зарегистрирован под com.amazonaws.management:type=AwsSdkMetrics 15:43: 45.952 [main] DEBUG com.amazonaws.monitoring.CsmConfigurationProviderChain - Невозможно загрузить конфигурацию из com.amazonaws.monitoring.EnvironmentVariableCsmConfigurationProvider@169e6180: Невозможно загрузить конфигурации мониторинга на стороне клиента из переменных среды!15: 43: 45.952 [main] DEBUG com.amazonaws.monitoring.CsmConfigurationProviderChain - Невозможно загрузить конфигурацию из com.amazonaws.monitoring.SystemPropertyCsmConfigurationProvider@35aea049: Невозможно загрузить конфигурации мониторинга на стороне клиента из переменных свойств системы!15: 43: 45.952 [java-sdk-http-connection-reaper] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Закрытие подключений, которые простаивают дольше, чем 60000 МИЛЛИСЕКОНД 15: 43: 45.952 [main] DEBUG com.amazonaws.monitoring.CsmConfigurationProviderChain - Невозможно загрузить конфигурацию из com.amazonaws.monitoring.ProfileCsmConfigurationProvider@611889f4: Невозможно загрузить исключение конфигурационного файла в потоке «main» java.lang.NullPointerException в com.amazonaws.services.s3.AmazonS3tand.Alient.Alient.Client.: 3772) по адресу com.amazonaws.services.s3.AmazonS3Client.noExplicitRegionProvided (AmazonS3Client.java:3767) по адресу com.amazonaws.services.s3.AmazonS3Client.bucketRegionShouldBeCached (AmazonS3Client.java:3amas.services.comserser.AmazonS3Client.shouldPerformHeadRequestToFindRegion (AmazonS3Client.java:4501) по адресу com.amazonaws.services.s3.AmazonS3Client.invoke (AmazonS3Client.java:4426) по адресу com.amazonaws.services.s3.AmazonS3lij.jpg.amazonaws.services.s3.AmazonS3Client.getAcl (AmazonS3Client.java:3573) на com.amazonaws.services.s3.AmazonS3Client.getBucketAcl (AmazonS3Client.java:1186) на com.amazonaws.services.s3.AmazonS3Client.getBjcketAj: (1176) на com.amazonaws.services.s3.AmazonS3Client.doesBucketExistV2 (AmazonS3Client.java:1312) на .AWSHelper.downloadFromS3Bucket (AWSHelper.java:32) на .AWSHelper.main (AWSHelper.java): 59 *59: 59*