@Override public ObjectStatus[] getObjectStatuses() { List<S3ObjectSummary> objects = mResult.getObjectSummaries(); ObjectStatus[] ret = new ObjectStatus[objects.size()]; int i = 0; for (S3ObjectSummary obj : objects) { ret[i++] = new ObjectStatus(obj.getKey(), obj.getETag(), obj.getSize(), obj.getLastModified().getTime()); } return ret; }
@Override public ObjectStatus[] getObjectStatuses() { List<S3ObjectSummary> objects = mResult.getObjectSummaries(); ObjectStatus[] ret = new ObjectStatus[objects.size()]; int i = 0; for (S3ObjectSummary obj : objects) { ret[i++] = new ObjectStatus(obj.getKey(), obj.getETag(), obj.getSize(), obj.getLastModified().getTime()); } return ret; }
@Override public VersionListing listVersions() { VersionListing versionListing = new VersionListing(); this.objectListing = client.listObjects(listObjectsRequest); for(S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) { S3VersionSummary versionSummary = new S3VersionSummary(); versionSummary.setBucketName(objectSummary.getBucketName()); versionSummary.setETag(objectSummary.getETag()); versionSummary.setKey(objectSummary.getKey()); versionSummary.setLastModified(objectSummary.getLastModified()); versionSummary.setOwner(objectSummary.getOwner()); versionSummary.setSize(objectSummary.getSize()); versionSummary.setStorageClass(objectSummary.getStorageClass()); versionSummary.setIsLatest(true); versionListing.getVersionSummaries().add(versionSummary); } return versionListing; }
@Override public VersionListing listVersions() { VersionListing versionListing = new VersionListing(); this.objectListing = client.listObjectsV2(listObjectsRequest); for(S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) { S3VersionSummary versionSummary = new S3VersionSummary(); versionSummary.setBucketName(objectSummary.getBucketName()); versionSummary.setETag(objectSummary.getETag()); versionSummary.setKey(objectSummary.getKey()); versionSummary.setLastModified(objectSummary.getLastModified()); versionSummary.setOwner(objectSummary.getOwner()); versionSummary.setSize(objectSummary.getSize()); versionSummary.setStorageClass(objectSummary.getStorageClass()); versionSummary.setIsLatest(true); versionListing.getVersionSummaries().add(versionSummary); } return versionListing; }
private boolean isUploadFile(Iterator<S3ObjectSummary> iter, String path, String hash) { while (iter.hasNext()) { S3ObjectSummary fileS3 = iter.next(); // Filename should look like this: // a/b if (!fileS3.getKey().equals(path)) { // If this is another file, then continue! continue; } // Remove the file from the S3 list as it does not need to be processed further iter.remove(); // Upload if the hashes differ return StringUtils.isNullOrEmpty(hash) || !fileS3.getETag().equals(hash); } return true; }
@Override public boolean nextKeyValue() throws IOException, InterruptedException { // we have read another record if (super.nextKeyValue()) { // set out key outKey.set(String.format("%s/%s", currentKey.getBucketName(), currentKey.getKey())); // set out value outValue.setBucketName(currentKey.getBucketName()); outValue.setKey(currentKey.getKey()); outValue.setETag(currentKey.getETag()); outValue.setLastModified(currentKey.getLastModified()); outValue.setOwner(currentKey.getOwner()); outValue.setSize(currentKey.getSize()); outValue.setStorageClass(currentKey.getStorageClass()); return true; } else { return false; } } }
public static ObjectSummary copyOf(S3ObjectSummary mutable) { checkNotNull(mutable, "mutable"); Builder builder = builder(); builder.withBucket(mutable.getBucketName()); builder.withKey(mutable.getKey()); builder.withEtag(mutable.getETag()); builder.withSize(mutable.getSize()); builder.withLastModified(mutable.getLastModified().getTime()); builder.withOwner(Owner.copyOf(mutable.getOwner())); builder.withStorageClass(mutable.getStorageClass()); return builder.build(); }
boolean objectChanged(ObjectMetadata metadata) { final MirrorOptions options = context.getOptions(); final KeyFingerprint sourceFingerprint; final KeyFingerprint destFingerprint; if (options.isSizeOnly()) { sourceFingerprint = new KeyFingerprint(summary.getSize()); destFingerprint = new KeyFingerprint(metadata.getContentLength()); } else { sourceFingerprint = new KeyFingerprint(summary.getSize(), summary.getETag()); destFingerprint = new KeyFingerprint(metadata.getContentLength(), metadata.getETag()); } return !sourceFingerprint.equals(destFingerprint); } }
ListObjectsRequest listObjectsRequest = new ListObjectsRequest() .withBucketName(bucketName); ObjectListing objectListing; do { objectListing = s3client.listObjects(listObjectsRequest); for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) { /** Default Metadata **/ Date dtLastModified = objectSummary.getLastModified(); String sEtag = objectSummary.getETag(); long lSize = objectSummary.getSize(); String sStorageClass = objectSummary.getStorageClass(); /** To get user defined metadata **/ ObjectMetadata objectMetadata = s3client.getObjectMetadata(bucketName, objectSummary.getKey()); Map userMetadataMap = objectMetadata.getUserMetadata(); Map rowMetadataMap = objectMetadata.getRawMetadata(); } listObjectsRequest.setMarker(objectListing.getNextMarker()); } while (objectListing.isTruncated());
@Override public VersionListing listVersions() { VersionListing versionListing = new VersionListing(); this.objectListing = client.listObjects(listObjectsRequest); for(S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) { S3VersionSummary versionSummary = new S3VersionSummary(); versionSummary.setBucketName(objectSummary.getBucketName()); versionSummary.setETag(objectSummary.getETag()); versionSummary.setKey(objectSummary.getKey()); versionSummary.setLastModified(objectSummary.getLastModified()); versionSummary.setOwner(objectSummary.getOwner()); versionSummary.setSize(objectSummary.getSize()); versionSummary.setStorageClass(objectSummary.getStorageClass()); versionSummary.setIsLatest(true); versionListing.getVersionSummaries().add(versionSummary); } return versionListing; }
@Override public VersionListing listVersions() { VersionListing versionListing = new VersionListing(); this.objectListing = client.listObjectsV2(listObjectsRequest); for(S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) { S3VersionSummary versionSummary = new S3VersionSummary(); versionSummary.setBucketName(objectSummary.getBucketName()); versionSummary.setETag(objectSummary.getETag()); versionSummary.setKey(objectSummary.getKey()); versionSummary.setLastModified(objectSummary.getLastModified()); versionSummary.setOwner(objectSummary.getOwner()); versionSummary.setSize(objectSummary.getSize()); versionSummary.setStorageClass(objectSummary.getStorageClass()); versionSummary.setIsLatest(true); versionListing.getVersionSummaries().add(versionSummary); } return versionListing; }
@Override public boolean nextKeyValue() throws IOException, InterruptedException { // we have read another record if (super.nextKeyValue()) { object = reader.getObject(currentKey); // poupulate key outKey.setBucketName(currentKey.getBucketName()); outKey.setETag(currentKey.getETag()); outKey.setKey(currentKey.getKey()); outKey.setLastModified(currentKey.getLastModified()); outKey.setOwner(currentKey.getOwner()); outKey.setSize(currentKey.getSize()); outKey.setStorageClass(currentKey.getStorageClass()); //populate value outValue.setBucketName(object.getBucketName()); outValue.setKey(object.getKey()); outValue.setObjectContent(object.getObjectContent()); outValue.setObjectMetadata(object.getObjectMetadata()); return true; } else { return false; } } }