Клиент Amazon S3 не может перечислить ведра, но бросает неизвестное хосткспений при попытке сделать PutoBjectJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Клиент Amazon S3 не может перечислить ведра, но бросает неизвестное хосткспений при попытке сделать PutoBject

Сообщение Anonymous »

У меня есть приложение Java, которое пытается использовать S3Client для сохранения файлов в пространство для хранения S3. < /p>
После небольшого проб и ошибок я смог подключиться и доказать Это путем создания S3Client и проверки я возвращаю ожидаемый список ведер. < /p>
String accessKeyId = "MyAccessKeyId";
String secretAccesskey = "MySecretAccessKey";

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("https://cees3.bhinc.gov:10444"))
.overrideConfiguration(ClientOverrideConfiguration.builder()
.build())
.build();

//I've verified that I'm getting back an expected list of buckets
ListBucketsResponse listBucketsResponse = s3Client.listBuckets();
< /code>
Когда я пытаюсь фактически разместить файл в одно из ведер, однако я получаю следующую ошибку: < /p>
software.amazon.awssdk.core .exception.sdkclientexception: получил неизвестное hostexception < /p>
Чего я не понимаю, так это то, почему я бы получил эту конкретную ошибку, так как, похоже, я получил бы ту же ошибку, пытаясь перечислить ведра. < /p>
Это мой код, чтобы попытаться загрузить файл - который, как вы можете видеть Перечислите ведра. < /p>
String accessKeyId = "MyAccessKeyId";
String secretAccesskey = "MySecretAccessKey";

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("https://cees3.bhinc.gov:10444"))
.overrideConfiguration(ClientOverrideConfiguration.builder()
.build())
.build();

String bucketName = "testbucket2";
String testFilePath = "C:\\Users\\charlie\\Downloads\\test.png";

// Upload a file
File file = new File(testFilePath);
try (FileInputStream fileInputStream = new FileInputStream(file)) {

String fileExtension = Files.probeContentType(Paths.get(testFilePath));
PutObjectRequest request = PutObjectRequest.builder()
.bucket(bucketName)
.key(accessKeyId)
.contentType(fileExtension)
.build();

// Get the file content as a byte array
byte[] bytes = fileInputStream.readAllBytes();

s3Client.putObject(request, RequestBody.fromBytes(bytes));

System.out.println("File uploaded successfully: " + "test.png");
} catch (IOException e) {
System.err.println("Error uploading file: " + e.getMessage());
}
< /code>
Но как только он достигнет s3client.putObject, он бросает неизвестное хосткспенция. Файл, но не когда просто перечисляет существующие ведра?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/794 ... when-tryin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»