Подтвердить что ты не робот

Могу ли я обновить существующий объект Amazon S3?

Я смотрел образцы Amazon S3, и образцы были там для вставок/удалений...

Но я хочу обновить существующий blob со свежими данными. В основном это текстовый файл, и текст был изменен, я хочу, чтобы объект S3 сохранял новый текстовый контент.

Как это сделать в Java?

4b9b3361

Ответ 1

Обновление существующего объекта в Amazon S3 не отличается от его создания, то есть тем же PUT Object используется для загрузки объекта и перезаписывает существующий (если он не защищен другими средствами, например, с помощью "Использование правил ведра" или Версии объектов)

Вы можете найти полный образец кода в Загрузить объект с помощью AWS SDK для Java, основная часть сводится к:

AmazonS3 s3client = new AmazonS3Client(new PropertiesCredentials(
        S3Sample.class.getResourceAsStream(
                "AwsCredentials.properties")));
try {
    System.out.println("Uploading a new object to S3 from a file\n");
    File file = new File(uploadFileName);
    s3client.putObject(new PutObjectRequest(
                             bucketName, keyName, file));

 } catch (AmazonServiceException ase) {
    System.out.println("Caught an AmazonServiceException, which " +
            "means your request made it " +
            "to Amazon S3, but was rejected with an error response" +
            " for some reason.");
    // ... error handling based on exception details
}