@Override public Void call() { s3.deleteObject(config.getBucketName(), identifier); return null; } }, OPERATION_DELETE_OBJECT);
@Override public Void call() { s3.deleteObject(config.getBucketName(), identifier); return null; } }, OPERATION_DELETE_OBJECT);
@Override public Void call() { s3.deleteObjects(new DeleteObjectsRequest(config.getBucketName()).withKeys(deleteVersions)); return null; } }, OPERATION_DELETE_OBJECTS);
@Override public S3ObjectMetadata call() { return s3.getObjectMetadata(new GetObjectMetadataRequest(config.getBucketName(), key).withVersionId(versionId)); } }, OPERATION_HEAD_OBJECT);
@Override public AccessControlList call() { return s3.getObjectAcl(new GetObjectAclRequest(config.getBucketName(), key).withVersionId(versionId)); } }, OPERATION_GET_ACL);
@Override public ListObjectsResult call() { ListObjectsRequest request = new ListObjectsRequest(config.getBucketName()); request.setPrefix("".equals(prefix) ? null : prefix); if (config.isUrlEncodeKeys()) request.setEncodingType(EncodingType.url); return s3.listObjects(request); } }, OPERATION_LIST_OBJECTS);
@Override public ListVersionsResult call() { ListVersionsRequest request = new ListVersionsRequest(config.getBucketName()); request.setPrefix("".equals(prefix) ? null : prefix); if (config.isUrlEncodeKeys()) request.setEncodingType(EncodingType.url); return s3.listVersions(request); } }, OPERATION_LIST_VERSIONS);
@Override public InputStream call() { GetObjectRequest request = new GetObjectRequest(config.getBucketName(), key).withVersionId(versionId); return s3.getObject(request, InputStream.class).getObject(); } }, OPERATION_OPEN_DATA_STREAM);
@Override public ListVersionsResult call() { if (fListing == null) { return s3.listVersions(new ListVersionsRequest(config.getBucketName()).withPrefix(key).withDelimiter("/")); } else { return s3.listMoreVersions(fListing); } } }, OPERATION_LIST_VERSIONS);
final CopyObjectRequest cReq = new CopyObjectRequest(config.getBucketName(), identifier, config.getBucketName(), identifier); cReq.setObjectMetadata(s3MetaFromSyncMeta(object.getMetadata())); time(new Function<Void>() {
if (config.getAccessKey() == null) throw new ConfigurationException("access-key is required"); if (config.getSecretKey() == null) throw new ConfigurationException("secret-key is required"); if (config.getBucketName() == null) throw new ConfigurationException("bucket is required"); if (!config.getBucketName().matches("[A-Za-z0-9._-]+")) throw new ConfigurationException(config.getBucketName() + " is not a valid bucket name"); boolean bucketExists = s3.bucketExists(config.getBucketName()); VersioningConfiguration versioningConfig = s3.getBucketVersioning(config.getBucketName()); List<VersioningConfiguration.Status> versionedStates = Arrays.asList(VersioningConfiguration.Status.Enabled, VersioningConfiguration.Status.Suspended); bucketHasVersions = versionedStates.contains(versioningConfig.getStatus()); s3.createBucket(config.getBucketName()); bucketExists = true; if (config.isIncludeVersions()) { s3.setBucketVersioning(config.getBucketName(), new VersioningConfiguration().withStatus(VersioningConfiguration.Status.Enabled)); bucketHasVersions = true; throw new ConfigurationException("The bucket " + config.getBucketName() + " does not exist.");
if (config.isRemoteCopy()) { String sourceKey = source.getIdentifier(obj.getRelativePath(), obj.getMetadata().isDirectory()); final CopyObjectRequest copyRequest = new CopyObjectRequest(source.getConfig().getBucketName(), sourceKey, config.getBucketName(), targetKey); if (obj instanceof S3ObjectVersion) copyRequest.setSourceVersionId(((S3ObjectVersion) obj).getVersionId()); if (options.isSyncMetadata()) copyRequest.setObjectMetadata(om); om.setContentEncoding(null); final PutObjectRequest req = new PutObjectRequest(config.getBucketName(), targetKey, data).withObjectMetadata(om); uploader = new LargeFileUploader(s3, config.getBucketName(), targetKey, file); uploader.setProgressListener(new ByteTransferListener(obj)); } else { uploader = new LargeFileUploader(s3, config.getBucketName(), targetKey, obj.getDataStream(), obj.getMetadata().getContentLength());
Assert.assertNull("source vdcs should be null", s3Source.getVdcs()); Assert.assertEquals("source port mismatch", -1, s3Source.getPort()); Assert.assertEquals("source bucket mismatch", sourceBucket, s3Source.getBucketName()); Assert.assertEquals(sourceKeyPrefix, s3Source.getKeyPrefix()); Assert.assertTrue("source url-encode-keys should be enabled", s3Source.isUrlEncodeKeys()); Assert.assertNull("target host should be null", s3Target.getHost()); Assert.assertEquals("target port mismatch", 9123, s3Target.getPort()); Assert.assertEquals("target bucket mismatch", targetBucket, s3Target.getBucketName()); Assert.assertEquals(targetKeyPrefix, s3Target.getKeyPrefix()); Assert.assertTrue("target vhost should be enabled", s3Target.isEnableVHosts());