/** * Deletes multiple versions. * * @param versionIds * the identifiers of the object versions that will be deleted. * @param bucketName * the name of the versioned bucket containing the object to be deleted. * @param objectKey * the key representing the object in S3. * * @throws S3ServiceException */ public void deleteVersionsOfObject(final String[] versionIds, String bucketName, String objectKey) throws S3ServiceException { deleteVersionsOfObjectWithMFA(versionIds, null, null, bucketName, objectKey); }
/** * Retrieves multiple objects (including details and data). * The objects' data will be stored in temporary files, and can be retrieved using * {@link S3Object#getDataInputStream()}. * * @param bucket * the bucket containing the objects. * @param objectKeys * the key names of the objects to retrieve. * @return * the retrieved objects. * * @throws S3ServiceException */ public S3Object[] getObjects(final S3Bucket bucket, final String[] objectKeys) throws S3ServiceException { S3Object[] objects = new S3Object[objectKeys.length]; for (int i = 0; i < objectKeys.length; i++) { objects[i] = new S3Object(objectKeys[i]); } return getObjects(bucket, objects); }
/** * Retrieves details of multiple objects (details only, no data) * * @param bucket * the bucket containing the objects. * @param objects * the objects to retrieve. * @return * objects populated with the details retrieved. * @throws S3ServiceException */ public S3Object[] getObjectsHeads(S3Bucket bucket, S3Object[] objects) throws S3ServiceException { String[] objectKeys = new String[objects.length]; for (int i = 0; i < objects.length; i++) { objectKeys[i] = objects[i].getKey(); } return getObjectsHeads(bucket, objectKeys); }
S3ServiceSimpleMulti simpleMulti = new S3ServiceSimpleMulti(s3Service); S3Object[] createdObjects = simpleMulti.putObjects(bucket, objects); System.out.println("Uploaded " + createdObjects.length + " objects"); S3Object[] objectsWithHeadDetails = simpleMulti.getObjectsHeads(bucket, objects); simpleMulti.downloadObjects(bucket, downloadPackages); System.out.println("Downloaded objects to current working directory"); simpleMulti.deleteObjects(bucket, objects); s3Service.deleteBucket(bucket); System.out.println("Deleted bucket: " + bucket); (new S3ServiceSimpleMulti(s3Service)).deleteVersionsOfObject( versionIds, vBucketName, "versioned-object");
/** * Creates multiple buckets. * * @param buckets * the buckets to create. * @return * the created buckets. * @throws S3ServiceException */ public S3Bucket[] createBuckets(final S3Bucket[] buckets) throws S3ServiceException { final List bucketList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(CreateBucketsEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { bucketList.addAll(Arrays.asList(event.getCreatedBuckets())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).createBuckets(buckets); throwError(adaptor); return (S3Bucket[]) bucketList.toArray(new S3Bucket[bucketList.size()]); }
S3ServiceSimpleMulti simpleMulti = new S3ServiceSimpleMulti(s3Service); S3Object[] createdObjects = simpleMulti.putObjects(bucket, objects); System.out.println("Uploaded " + createdObjects.length + " objects"); S3Object[] objectsWithHeadDetails = simpleMulti.getObjectsHeads(bucket, objects); simpleMulti.downloadObjects(bucket, downloadPackages); System.out.println("Downloaded objects to current working directory"); simpleMulti.deleteObjects(bucket, objects); s3Service.deleteBucket(bucket); System.out.println("Deleted bucket: " + bucket); (new S3ServiceSimpleMulti(s3Service)).deleteVersionsOfObject( versionIds, vBucketName, "versioned-object");
/** * Updates/sets Access Control List (ACL) settings for multiple objects. * * @param bucket * the bucket containing the objects. * @param objects * objects containing ACL settings that will be updated/set. * @return * objects whose ACL settings were updated/set. * @throws S3ServiceException */ public S3Object[] putACLs(final S3Bucket bucket, final S3Object[] objects) throws S3ServiceException { final List objectList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(UpdateACLEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getObjectsWithUpdatedACL())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).putACLs(bucket, objects); throwError(adaptor); return (S3Object[]) objectList.toArray(new S3Object[objectList.size()]); }
/** * Retrieves Access Control List (ACL) settings for multiple objects. * * @param bucket * the bucket containing the objects. * @param objects * the objects whose ACLs will be retrieved. * @return * objects including the ACL information retrieved. * @throws S3ServiceException */ public S3Object[] getObjectACLs(final S3Bucket bucket, final S3Object[] objects) throws S3ServiceException { final List objectList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(LookupACLEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getObjectsWithACL())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).getObjectACLs(bucket, objects); throwError(adaptor); return (S3Object[]) objectList.toArray(new S3Object[objectList.size()]); }
/** * Deletes multiple versions. * * @param versionIds * the identifiers of the object versions that will be deleted. * @param bucketName * the name of the versioned bucket containing the object to be deleted. * @param objectKey * the key representing the object in S3. * * @throws S3ServiceException */ public void deleteVersionsOfObject(final String[] versionIds, String bucketName, String objectKey) throws S3ServiceException { deleteVersionsOfObjectWithMFA(versionIds, null, null, bucketName, objectKey); }
/** * Retrieves details of multiple objects (details only, no data) * * @param bucket * the bucket containing the objects. * @param objects * the objects to retrieve. * @return * objects populated with the details retrieved. * @throws S3ServiceException */ public S3Object[] getObjectsHeads(S3Bucket bucket, S3Object[] objects) throws S3ServiceException { String[] objectKeys = new String[objects.length]; for (int i = 0; i < objects.length; i++) { objectKeys[i] = objects[i].getKey(); } return getObjectsHeads(bucket, objectKeys); }
/** * Retrieves multiple objects (including details and data). * The objects' data will be stored in temporary files, and can be retrieved using * {@link S3Object#getDataInputStream()}. * * @param bucket * the bucket containing the objects. * @param objectKeys * the key names of the objects to retrieve. * @return * the retrieved objects. * * @throws S3ServiceException */ public S3Object[] getObjects(final S3Bucket bucket, final String[] objectKeys) throws S3ServiceException { S3Object[] objects = new S3Object[objectKeys.length]; for (int i = 0; i < objectKeys.length; i++) { objects[i] = new S3Object(objectKeys[i]); } return getObjects(bucket, objects); }
/** * Creates/uploads multiple objects. * * @param bucket * the bucket to create the objects in. * @param objects * the objects to create/upload. * @return * the created/uploaded objects. * @throws S3ServiceException */ public S3Object[] putObjects(final S3Bucket bucket, final S3Object[] objects) throws S3ServiceException { final List objectList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(CreateObjectsEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getCreatedObjects())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).putObjects(bucket, objects); throwError(adaptor); return (S3Object[]) objectList.toArray(new S3Object[objectList.size()]); }
/** * Retrieves details of multiple objects (details only, no data) * * @param bucket * the bucket containing the objects. * @param objectKeys * the key names of the objects to retrieve. * @return * objects populated with the details retrieved. * @throws S3ServiceException */ public S3Object[] getObjectsHeads(final S3Bucket bucket, final String[] objectKeys) throws S3ServiceException { final List objectList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(GetObjectHeadsEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getCompletedObjects())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).getObjectsHeads(bucket, objectKeys); throwError(adaptor); return (S3Object[]) objectList.toArray(new S3Object[objectList.size()]); }
/** * Updates/sets Access Control List (ACL) settings for multiple objects. * * @param bucket * the bucket containing the objects. * @param objects * objects containing ACL settings that will be updated/set. * @return * objects whose ACL settings were updated/set. * @throws S3ServiceException */ public S3Object[] putACLs(final S3Bucket bucket, final S3Object[] objects) throws S3ServiceException { final List objectList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(UpdateACLEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getObjectsWithUpdatedACL())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).putACLs(bucket, objects); throwError(adaptor); return (S3Object[]) objectList.toArray(new S3Object[objectList.size()]); }
/** * Creates multiple buckets. * * @param buckets * the buckets to create. * @return * the created buckets. * @throws S3ServiceException */ public S3Bucket[] createBuckets(final S3Bucket[] buckets) throws S3ServiceException { final List bucketList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(CreateBucketsEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { bucketList.addAll(Arrays.asList(event.getCreatedBuckets())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).createBuckets(buckets); throwError(adaptor); return (S3Bucket[]) bucketList.toArray(new S3Bucket[bucketList.size()]); }
/** * Retrieves details of multiple objects (details only, no data) * * @param bucket * the bucket containing the objects. * @param objectKeys * the key names of the objects to retrieve. * @return * objects populated with the details retrieved. * @throws S3ServiceException */ public S3Object[] getObjectsHeads(final S3Bucket bucket, final String[] objectKeys) throws S3ServiceException { final List objectList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(GetObjectHeadsEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getCompletedObjects())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).getObjectsHeads(bucket, objectKeys); throwError(adaptor); return (S3Object[]) objectList.toArray(new S3Object[objectList.size()]); }
/** * Retrieves Access Control List (ACL) settings for multiple objects. * * @param bucket * the bucket containing the objects. * @param objects * the objects whose ACLs will be retrieved. * @return * objects including the ACL information retrieved. * @throws S3ServiceException */ public S3Object[] getObjectACLs(final S3Bucket bucket, final S3Object[] objects) throws S3ServiceException { final List objectList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(LookupACLEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getObjectsWithACL())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).getObjectACLs(bucket, objects); throwError(adaptor); return (S3Object[]) objectList.toArray(new S3Object[objectList.size()]); }
/** * Creates/uploads multiple objects. * * @param bucket * the bucket to create the objects in. * @param objects * the objects to create/upload. * @return * the created/uploaded objects. * @throws S3ServiceException */ public S3Object[] putObjects(final S3Bucket bucket, final S3Object[] objects) throws S3ServiceException { final List objectList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(CreateObjectsEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getCreatedObjects())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).putObjects(bucket, objects); throwError(adaptor); return (S3Object[]) objectList.toArray(new S3Object[objectList.size()]); }
/** * Deletes multiple objects * * @param bucket * the bucket containing the objects to delete. * @param objects * the objects to delete. * @throws S3ServiceException */ public void deleteObjects(final S3Bucket bucket, final S3Object[] objects) throws S3ServiceException { final List objectList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(DeleteObjectsEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getDeletedObjects())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).deleteObjects(bucket, objects); throwError(adaptor); }
/** * Deletes multiple objects * * @param bucket * the bucket containing the objects to delete. * @param objects * the objects to delete. * @throws S3ServiceException */ public void deleteObjects(final S3Bucket bucket, final S3Object[] objects) throws S3ServiceException { final List objectList = new ArrayList(); S3ServiceEventAdaptor adaptor = new S3ServiceEventAdaptor() { @Override public void s3ServiceEventPerformed(DeleteObjectsEvent event) { super.s3ServiceEventPerformed(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getDeletedObjects())); } }; }; (new S3ServiceMulti(s3Service, adaptor)).deleteObjects(bucket, objects); throwError(adaptor); }