@Override public void putObject(String bucketName, String key, Range range, Object content) { putObject(new PutObjectRequest(bucketName, key, content).withRange(range)); }
PutObjectRequest request = new PutObjectRequest(bucket, key, null); request.setObjectMetadata(objectMetadata); request.setAcl(acl);
@Override public void putObject(String bucketName, String key, Object content, String contentType) { S3ObjectMetadata metadata = new S3ObjectMetadata().withContentType(contentType); putObject(new PutObjectRequest(bucketName, key, content).withObjectMetadata(metadata)); }
@Override public long appendObject(String bucketName, String key, Object content) { return putObject(new PutObjectRequest(bucketName, key, content) .withRange(Range.fromOffset(-1))).getAppendOffset(); }
public void doSinglePut() { configure(); InputStream is = null; try { is = file != null ? new FileInputStream(file) : stream; is = new ProgressInputStream(is, this); PutObjectRequest putRequest = new PutObjectRequest(bucket, key, is); putRequest.setObjectMetadata(objectMetadata); putRequest.setAcl(acl); putRequest.setCannedAcl(cannedAcl); PutObjectResult result = s3Client.putObject(putRequest); eTag = result.getETag(); } catch (IOException e) { throw new RuntimeException("Error opening file", e); } finally { // make sure we close the input stream if necessary if (is != null && closeStream) { try { is.close(); } catch (Throwable t) { log.warn("could not close stream", t); } } } }
@Override public String call() throws Exception { Range range = Range.fromOffsetLength(offset, length); InputStream is = file != null ? new FileInputStream(file) : stream; is = new ProgressInputStream(is, LargeFileUploader.this); SizedInputStream segmentStream = file != null ? new InputStreamSegment(is, offset, length) : new SizedInputStream(is, length); PutObjectRequest request = new PutObjectRequest(bucket, key, segmentStream).withRange(range); return s3Client.putObject(request).getETag(); } }
@Synchronized @Override public void putObject(String bucketName, String key, Range range, Object content) { byte[] totalByes = new byte[Math.toIntExact(range.getLast() + 1)]; try { if (range.getFirst() != 0) { int bytesRead = client.getObject(bucketName, key).getObject().read(totalByes, 0, Math.toIntExact(range.getFirst())); if (bytesRead != range.getFirst()) { throw new IllegalStateException("Unable to read from the object " + key); } } int bytesRead = ((InputStream) content).read(totalByes, Math.toIntExact(range.getFirst()), Math.toIntExact(range.getLast() + 1 - range.getFirst())); if (bytesRead != range.getLast() + 1 - range.getFirst()) { throw new IllegalStateException("Not able to read from input stream."); } client.putObject(new PutObjectRequest(bucketName, key, (Object) new ByteArrayInputStream(totalByes))); aclMap.put(key, aclMap.get(key).withSize(range.getLast() - 1)); } catch (IOException e) { throw new S3Exception("NoObject", HttpStatus.SC_NOT_FOUND, "NoSuchKey", key); } }
metadata.setContentLength((long) 0); PutObjectRequest request = new PutObjectRequest(config.getBucket(), config.getRoot() + streamSegmentName, null);
om.setContentEncoding(null); final PutObjectRequest req = new PutObjectRequest(config.getBucketName(), targetKey, data).withObjectMetadata(om);