У меня есть приложение Java, в котором я пытаюсь взаимодействовать с шлюзом S3 API, чтобы хранить там большие файлы. Подключение к области хранения и выполнение простой задачи ListBuckets было относительно простым. Делать что -то вроде CreateBucket или PutObject было действительно пугающим, хотя. Я продолжаю получать исключение: < /p>
software.amazon.awssdk.core.exception.SdkClientException: Received an UnknownHostException
Из того, что я понимаю, это может означать, что шлюз S3 API, который я использую, не позволяет таким вещам, как CreateBucket или PutoBject, по крайней мере, для меня в настоящее время.
вещь, я могу создать ведро, выполнив командную команду AWS, как это: < /p>
aws --endpoint-url https://theendpointurltomynetappstoragegrid:10444 s3api create-bucket --bucket testbucket11
это создаст ведро без проблем.
String accessKeyId = "MyAccessKeyID";
String secretAccesskey = "MySecretAccessKey";
String endpointUrl = "https://theendpointurltomynetappstoragegrid:10444";
StaticCredentialsProvider credentialsProvider = StaticCredentialsProvider.create(
AwsBasicCredentials.create(accessKeyId, secretAccesskey));
// Create S3 client
S3Client s3Client = S3Client.builder()
.credentialsProvider(credentialsProvider)
.region(Region.US_EAST_1)
.endpointOverride(URI.create(endpointUrl))
.overrideConfiguration(ClientOverrideConfiguration.builder()
.build())
.build();
//This actually works fine to list the buckets - indicating I am connecting fine
ListBucketsResponse listBucketsResponse = s3Client.listBuckets();
CreateBucketRequest createBucketRequest = CreateBucketRequest.builder()
.bucket("testbucket11")
.build();
//However this always crashes with a SdkClientException: Received an UnknownHostException
s3Client.createBucket(createBucketRequest);
< /code>
Я пытаюсь привлечь администраторов NetApp, чтобы увидеть, есть ли у меня нет привилегий CreateBucket в настоящее время. < /p>
Но, есть Логично предположить, что эти привилегии должны присутствовать, если работает команда AWS Create -Bucket? Проблема - что происходит, так это то, что URL преобразуется в неожиданный формат, когда он добавляет ведро к URL. Builder () как так ... < /p>
// Create S3 client
S3Client s3Client = S3Client.builder()
.credentialsProvider(credentialsProvider)
.region(Region.US_EAST_1)
.endpointOverride(URI.create(endpointUrl))
.forcePathStyle(true)
.overrideConfiguration(ClientOverrideConfiguration.builder()
.build())
.build();
Подробнее здесь: https://stackoverflow.com/questions/794 ... atic-calls
Вызовы AWS S3AP Command-Line зеркало S3Client Programmatic Calls? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение