S3Object object = s3Service.getObject(awsBucketName, key); InputStream istream = object.getDataInputStream(); FileOutputStream ostream = new FileOutputStream(path);
@Override public Object clone() { S3Object clone = new S3Object(getKey()); clone.bucketName = bucketName; clone.dataInputStream = dataInputStream; clone.acl = acl; clone.isMetadataComplete = isMetadataComplete; clone.dataInputFile = dataInputFile; clone.storageClass = storageClass; clone.setOwner(this.getOwner()); clone.addAllMetadata(getMetadataMap()); return clone; }
S3Object fileObject = new S3Object(path); fileObject.setDataInputStream(is); s3service.putObject(bucketName, fileObject);
@Override public String toString() { return "S3Object [key=" + getKey() + ", bucket=" + (bucketName == null ? "<Unknown>" : bucketName) + ", lastModified=" + getLastModifiedDate() + ", dataInputStream=" + dataInputStream + (getStorageClass() != null ? ", storageClass=" + getStorageClass() : "") + ", Metadata=" + getMetadataMap() + "]"; }
@Override public void storeEmptyFile(String key) throws IOException { try { S3Object object = new S3Object(key); object.setDataInputStream(new ByteArrayInputStream(new byte[0])); object.setContentType("binary/octet-stream"); object.setContentLength(0); object.setServerSideEncryptionAlgorithm(serverSideEncryptionAlgorithm); s3Service.putObject(bucket, object); } catch (ServiceException e) { handleException(e, key); } }
S3Object object = new S3Object(getPath()); object.setContentType(getContentType()); object.setContentDisposition(value); object.setContentLanguage(value); object.setContentLength(ObjectUtils.to(long.class, value)); object.setContentEncoding(value); object.setContentType(value); object.addMetadata(key, value); object.setDataInputStream(data); object.setAcl(AccessControlList.REST_CANNED_PUBLIC_READ); service.putObject(getBucket(), object);
interruptableInputStream = new InterruptableInputStream(object.getDataInputStream()); bufferedInputStream = new BufferedInputStream( new ProgressMonitoredInputStream(interruptableInputStream, progressMonitor)); if (!ServiceUtils.isEtagAlsoAnMD5Hash(object.getETag())) { if (!hexMD5OfDownloadedData.equals(object.getMd5HashAsHex())) { if (log.isWarnEnabled()) { log.warn("Unable to verify MD5 hash of downloaded data against" + " ETag returned by service because ETag value \"" + object.getETag() + "\" is not an MD5 hash value" + ", for object key: " + object.getKey()); if (!hexMD5OfDownloadedData.equals(object.getETag())) { throw new S3ServiceException("Mismatch between MD5 hash of downloaded data (" + hexMD5OfDownloadedData + ") and ETag returned by S3 (" + object.getETag() + ") for object key: " + object.getKey()); } else { if (log.isDebugEnabled()) { log.debug("Object download was automatically verified, the calculated MD5 hash "+ "value matched the ETag provided by S3: " + object.getKey()); object.setDataInputStream(null); object.setDataInputFile(downloadPackage.getDataFile()); String metadataLocalFileDate = (String) object.getMetadata( Constants.METADATA_JETS3T_LOCAL_FILE_DATE);
public int addObject(S3Object object) { int insertRow = Collections.binarySearch(objectList, object, new Comparator() { public int compare(Object o1, Object o2) { return ((S3Object)o1).getKey().compareToIgnoreCase(((S3Object)o2).getKey()); } }); if (insertRow >= 0) { // We already have an item with this key, replace it. objectList.remove(insertRow); this.removeRow(insertRow); } else { insertRow = (-insertRow) - 1; } // New object to insert. objectList.add(insertRow, object); this.insertRow(insertRow, new Object[] {object.getKey(), new Long(object.getContentLength()), object.getLastModifiedDate()}); return insertRow; }
public void storeLargeFile(String key, File file, byte[] md5Hash) throws IOException { S3Object object = new S3Object(key); object.setDataInputFile(file); object.setContentType("binary/octet-stream"); object.setContentLength(file.length()); object.setServerSideEncryptionAlgorithm(serverSideEncryptionAlgorithm); if (md5Hash != null) { object.setMd5Hash(md5Hash); } List<StorageObject> objectsToUploadAsMultipart = new ArrayList<StorageObject>(); objectsToUploadAsMultipart.add(object); MultipartUtils mpUtils = new MultipartUtils(multipartBlockSize); try { mpUtils.uploadObjects(bucket.getName(), s3Service, objectsToUploadAsMultipart, null); } catch (Exception e) { handleException(e, key); } }
objectKeyTextField.setText(object.getKey()); objectContentTypeTextField.setText(object.getContentType()); objectContentLengthTextField.setText(String.valueOf(object.getContentLength())); objectLastModifiedTextField.setText(String.valueOf(object.getLastModifiedDate())); objectETagTextField.setText(object.getETag()); bucketNameTextField.setText(object.getBucketName()); if (object.getOwner() != null) { ownerNameLabel.setVisible(true); ownerNameTextField.setVisible(true); ownerIdLabel.setVisible(true); ownerIdTextField.setVisible(true); ownerNameTextField.setText(object.getOwner().getDisplayName()); ownerIdTextField.setText(object.getOwner().getId()); } else { ownerNameLabel.setVisible(false); Map objectMetadata = new HashMap(object.getMetadataMap()); objectMetadata.remove(S3Object.METADATA_HEADER_CONTENT_LENGTH); objectMetadata.remove(S3Object.METADATA_HEADER_CONTENT_TYPE);
objectKeyTextField.setText(currentObject.getKey()); objectContentLengthTextField.setText(String.valueOf(currentObject.getContentLength())); objectLastModifiedTextField.setText(String.valueOf(currentObject.getLastModifiedDate())); objectETagTextField.setText(currentObject.getETag()); bucketLocationTextField.setText(currentObject.getBucketName()); String storageClass = (currentObject.getStorageClass() != null ? currentObject.getStorageClass() : S3Object.STORAGE_CLASS_STANDARD); storageClassTextField.setText(storageClass); if (currentObject.getOwner() != null) { ownerNameLabel.setVisible(true); ownerNameTextField.setVisible(true); ownerIdLabel.setVisible(true); ownerIdTextField.setVisible(true); ownerNameTextField.setText(currentObject.getOwner().getDisplayName()); ownerIdTextField.setText(currentObject.getOwner().getId()); } else { ownerNameLabel.setVisible(false); Iterator mdIter = currentObject.getModifiableMetadata().entrySet().iterator(); while (mdIter.hasNext()) { Map.Entry entry = (Map.Entry) mdIter.next();
/** * * @param containerName * @param objectName * @param is * @throws StorageCommunicationException * @see org.opencredo.cloud.storage.StorageOperations#send(java.lang.String, * java.lang.String, java.io.InputStream) */ public void send(String containerName, String objectName, InputStream is) throws StorageCommunicationException { Assert.notNull(containerName, "Bucket name cannot be null"); Assert.hasText(objectName, "Blob name must be set"); LOG.debug("Send input-stream to bucket '{}' with key '{}'", containerName, objectName); try { S3Object s3ObjectToSend = new S3Object(objectName); s3ObjectToSend.setDataInputStream(is); s3ObjectToSend.setContentLength(is.available()); s3Service.putObject(new S3Bucket(containerName), s3ObjectToSend); } catch (IOException e) { throw new StorageCommunicationException("Sending input stream IO problem", e); } catch (S3ServiceException e) { throw new StorageCommunicationException("Sending input stream problem", e); } }
clonedMetadata.putAll(object.getMetadataMap()); xmlGenerator.addSignatureRequest(object.getKey(), object.getBucketName(), clonedMetadata, request); object.setKey(request.getObjectKey()); object.setBucketName(request.getBucketName()); object.replaceAllMetadata(request.getObjectMetadata()); ? "Unknown" : request.getDeclineReason()); log.warn("Upload of '" + objects[i].getKey() + "' was declined for reason: " + declineReason); if (firstDeclineReason == null) {
@Override protected StorageObject newObject() { return new S3Object(); }
final S3Object object = new S3Object(containerService.getKey(file)); final String mime = status.getMime(); if(StringUtils.isNotBlank(mime)) { object.setContentType(mime); switch(checksum.algorithm) { case md5: object.setMd5Hash(ServiceUtils.fromHex(checksum.hash)); break; case sha256: object.addMetadata("x-amz-content-sha256", checksum.hash); break; if(!S3Object.STORAGE_CLASS_STANDARD.equals(status.getStorageClass())) { object.setStorageClass(status.getStorageClass()); object.setServerSideEncryptionAlgorithm(encryption.algorithm); object.setServerSideEncryptionKmsKeyId(encryption.key); for(Map.Entry<String, String> m : status.getMetadata().entrySet()) { object.addMetadata(m.getKey(), m.getValue());
@Override protected InputStream openObjectStream(S3Object object) throws IOException { try { // Get data of the given object and open an input stream return s3Client.getObject(object.getBucketName(), object.getKey()).getDataInputStream(); } catch (ServiceException e) { throw new IOException(e); } }
boolean lz4compress = false; int size = Integer.parseInt((String) obj .getMetadata("size")); int csz = size; if (obj.containsMetadata("encrypt")) { encrypt = Boolean.parseBoolean((String) obj .getMetadata("encrypt")); if (obj.containsMetadata("compress")) { compress = Boolean.parseBoolean((String) obj .getMetadata("compress")); } else if (obj.containsMetadata("lz4compress")) { csz = Integer.parseInt((String) obj .getMetadata("compressedsize")); lz4compress = Boolean.parseBoolean((String) obj .getMetadata("lz4compress")); int cl = (int) obj.getContentLength(); if (cl != csz) { SDFSLogger.getLog().warn( .getDataInputStream()); in.readFully(data); obj.closeDataInputStream(); if (encrypt) data = EncryptUtils.decrypt(data);
public int addObject(S3Object object) { sanitizeObjectKey(object); int insertRow = Collections.binarySearch(objectList, object, new Comparator() { public int compare(Object o1, Object o2) { return ((S3Object)o1).getKey().compareToIgnoreCase(((S3Object)o2).getKey()); } }); String aclStatus = null; if (insertRow >= 0) { // Retain the object's ACL status if it's available. aclStatus = (String) this.getValueAt(insertRow, 3); // We already have an item with this key, replace it. objectList.remove(insertRow); this.removeRow(insertRow); } else { insertRow = (-insertRow) - 1; } if (object.getAcl() != null || aclStatus == null) { aclStatus = CockpitLite.getAclDescription(object.getAcl()); } // New object to insert. objectList.add(insertRow, object); this.insertRow(insertRow, new Object[] {object.getKey(), new Long(object.getContentLength()), object.getLastModifiedDate(), aclStatus}); return insertRow; }
objectKey = object.getKey(); if(objectKey.equals(prefix)) continue; childURL.setPath(bucketName + "/" + commonPrefix); directoryObject = new org.jets3t.service.model.S3Object(commonPrefix); directoryObject.setLastModifiedDate(new Date(System.currentTimeMillis())); directoryObject.setContentLength(0); children[i] = FileFactory.getFile(childURL, parent, service, directoryObject); i++;