List of usage examples for com.amazonaws.services.s3.model ObjectMetadata addUserMetadata
public void addUserMetadata(String key, String value)
Adds the key value pair of custom user-metadata for the associated object.
From source file:com.clicktravel.infrastructure.persistence.aws.s3.S3FileStore.java
License:Apache License
@Override public void write(final FilePath filePath, final FileItem fileItem) { checkInitialization();/*from w w w .j av a 2s . c om*/ final ObjectMetadata metadata = new ObjectMetadata(); metadata.addUserMetadata(USER_METADATA_FILENAME, fileItem.filename()); metadata.addUserMetadata(USER_METADATA_LAST_UPDATED_TIME, formatter.print(fileItem.lastUpdatedTime())); metadata.setContentLength(fileItem.getBytes().length); final InputStream is = new ByteArrayInputStream(fileItem.getBytes()); final String bucketName = bucketNameForFilePath(filePath); if (!amazonS3Client.doesBucketExist(bucketName)) { createBucket(bucketName); } final PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, filePath.filename(), is, metadata); amazonS3Client.putObject(putObjectRequest); }
From source file:com.emc.vipr.s3.s3api.java
License:Open Source License
/********************************* Object Operations ******************************/ public static void CreateObjectWithMeta(String S3_ACCESS_KEY_ID, String S3_SECRET_KEY, String S3_ENDPOINT, String S3_ViPR_NAMESPACE, String S3_BUCKET, String key, InputStream content, String metaKey, String metaValue) throws Exception { System.out.println("Access ID:" + S3_ACCESS_KEY_ID); System.out.println("Access secret:" + S3_SECRET_KEY); System.out.println("Access URL:" + S3_ENDPOINT); System.out.println("Access namespace:" + S3_ViPR_NAMESPACE); System.out.println("Access bucket:" + S3_BUCKET); System.out.println("Access key:" + key); ViPRS3Client s3 = getS3Client(S3_ACCESS_KEY_ID, S3_SECRET_KEY, S3_ENDPOINT, S3_ViPR_NAMESPACE); // create the object in the demo bucket if (metaKey.equals("") && metaValue.equals("")) { s3.putObject(S3_BUCKET, key, content, null); } else {/*from w ww. ja v a2 s . co m*/ ObjectMetadata obj = new ObjectMetadata(); obj.addUserMetadata(metaKey, metaValue); s3.putObject(S3_BUCKET, key, content, obj); } }
From source file:com.emc.vipr.s3.s3api.java
License:Open Source License
public static void CreateLargeObject(String S3_ACCESS_KEY_ID, String S3_SECRET_KEY, String S3_ENDPOINT, String S3_ViPR_NAMESPACE, String S3_BUCKET, String key, File file, String metaKey, String metaValue) throws Exception { System.out.println("Access ID:" + S3_ACCESS_KEY_ID); System.out.println("Access secret:" + S3_SECRET_KEY); System.out.println("Access URL:" + S3_ENDPOINT); System.out.println("Access namespace:" + S3_ViPR_NAMESPACE); System.out.println("Access bucket:" + S3_BUCKET); System.out.println("Access key:" + key); ViPRS3Client s3 = getS3Client(S3_ACCESS_KEY_ID, S3_SECRET_KEY, S3_ENDPOINT, S3_ViPR_NAMESPACE); ObjectMetadata objmeta = new ObjectMetadata(); if (!(metaKey.equals("") && metaValue.equals(""))) { objmeta.addUserMetadata(metaKey, metaValue); }//from ww w. j av a2 s . c o m InitiateMultipartUploadRequest initRequest = new InitiateMultipartUploadRequest(S3_BUCKET, key) .withObjectMetadata(objmeta); InitiateMultipartUploadResult initResponse = s3.initiateMultipartUpload(initRequest); long partSize = 1 * 1024 * 1024; // Set part size to 1 MB. // list of UploadPartResponse objects for each part that is uploaded List<PartETag> partETags = new ArrayList<PartETag>(); long filePosition = 0; for (int i = 1; filePosition < file.length(); i++) { // get the size of the chunk. Note - the last part can be less than the chunk size partSize = Math.min(partSize, (file.length() - filePosition)); System.out.println(String.format("Sending chunk [%d] starting at position [%d]", i, filePosition)); // Create request to upload a part. UploadPartRequest uploadRequest = new UploadPartRequest().withBucketName(S3_BUCKET).withKey(key) .withUploadId(initResponse.getUploadId()).withPartNumber(i).withFileOffset(filePosition) .withFile(file).withPartSize(partSize); // Upload part and add response to our list. PartETag eTagPart = s3.uploadPart(uploadRequest).getPartETag(); partETags.add(eTagPart); // set file position to the next part in the file filePosition += partSize; } System.out.println("Waiting for completion of multi-part upload"); CompleteMultipartUploadRequest compRequest = new CompleteMultipartUploadRequest(S3_BUCKET, key, initResponse.getUploadId(), partETags); s3.completeMultipartUpload(compRequest); }
From source file:com.emc.vipr.s3.sample._05_CreateObjectWithMetadata.java
License:Open Source License
public static void main(String[] args) throws Exception { // create the ViPR S3 Client ViPRS3Client s3 = ViPRS3Factory.getS3Client(); // retrieve the object key and value from user System.out.println("Enter the object key:"); String key = new BufferedReader(new InputStreamReader(System.in)).readLine(); System.out.println("Enter the object content:"); String content = new BufferedReader(new InputStreamReader(System.in)).readLine(); //retrieve the object metadata key and value from user System.out.println("Enter the metadata key:"); String metaKey = new BufferedReader(new InputStreamReader(System.in)).readLine(); System.out.println("Enter the metadata content:"); String metaValue = new BufferedReader(new InputStreamReader(System.in)).readLine(); // create the metadata ObjectMetadata metadata = new ObjectMetadata(); metadata.addUserMetadata(metaKey, metaValue); // create the object with the metadata in the demo bucket s3.putObject(ViPRS3Factory.S3_BUCKET, key, new StringInputStream(content), metadata); // print out object key/value and metadata key/value for validation System.out.println(String.format("created object [%s/%s] with metadata [%s=%s] and content: [%s]", ViPRS3Factory.S3_BUCKET, key, metaKey, metaValue, content)); }
From source file:com.eucalyptus.objectstorage.providers.s3.S3ProviderClient.java
License:Open Source License
protected ObjectMetadata getS3ObjectMetadata(PutObjectType request) { ObjectMetadata meta = new ObjectMetadata(); if (request.getMetaData() != null) { for (MetaDataEntry m : request.getMetaData()) { meta.addUserMetadata(m.getName(), m.getValue()); }// w w w . j a va 2 s. c om } if (!Strings.isNullOrEmpty(request.getContentLength())) { meta.setContentLength(Long.parseLong(request.getContentLength())); } if (!Strings.isNullOrEmpty(request.getContentMD5())) { meta.setContentMD5(request.getContentMD5()); } if (!Strings.isNullOrEmpty(request.getContentType())) { meta.setContentType(request.getContentType()); } return meta; }
From source file:com.eucalyptus.objectstorage.providers.s3.S3ProviderClient.java
License:Open Source License
@Override public InitiateMultipartUploadResponseType initiateMultipartUpload(InitiateMultipartUploadType request) throws S3Exception { InitiateMultipartUploadResponseType reply = request.getReply(); User requestUser = getRequestUser(request); OsgInternalS3Client internalS3Client = null; String bucketName = request.getBucket(); String key = request.getKey(); InitiateMultipartUploadRequest initiateMultipartUploadRequest = new InitiateMultipartUploadRequest( bucketName, key);// www . j a v a 2 s . co m ObjectMetadata metadata = new ObjectMetadata(); for (MetaDataEntry meta : request.getMetaData()) { metadata.addUserMetadata(meta.getName(), meta.getValue()); } initiateMultipartUploadRequest.setObjectMetadata(metadata); try { internalS3Client = getS3Client(requestUser); AmazonS3Client s3Client = internalS3Client.getS3Client(); InitiateMultipartUploadResult result = s3Client.initiateMultipartUpload(initiateMultipartUploadRequest); reply.setUploadId(result.getUploadId()); reply.setBucket(bucketName); reply.setKey(key); return reply; } catch (AmazonServiceException e) { LOG.debug("Error from backend", e); throw S3ExceptionMapper.fromAWSJavaSDK(e); } }
From source file:com.intuit.s3encrypt.S3Encrypt.java
License:Open Source License
private static void putS3Object(CommandLine cmd, AmazonS3EncryptionClient s3, String bucket, String filename, String keyname, String key) { String[] searchArgs = cmd.getOptionValues("put"); System.out.println("Uploading a new object to S3 BUCKET = " + bucket + " FILENAME = " + filename); File file = new File(filename); PutObjectRequest request = new PutObjectRequest(bucket, filename, file); ObjectMetadata metadata = new ObjectMetadata(); metadata.addUserMetadata(keyname, key); request.setMetadata(metadata);/*ww w .ja v a2s . c om*/ s3.putObject(request); System.out.println(); }
From source file:com.intuit.tank.vmManager.environment.amazon.AmazonS3.java
License:Open Source License
/** * /*from w w w . j a v a 2 s . c o m*/ * @param key * @param scriptFile * @return */ public void storeFile(String bucketName, String path, Map<String, String> metaMap, InputStream in) { ObjectMetadata metaData = new ObjectMetadata(); if (metaMap != null) { for (Entry<String, String> entry : metaMap.entrySet()) { metaData.addUserMetadata(entry.getKey(), entry.getValue()); } } s3Client.putObject(bucketName, path, in, metaData); }
From source file:com.netflix.hollow.example.producer.infrastructure.S3Publisher.java
License:Apache License
@Override public void publishSnapshot(File snapshotFile, long stateVersion) { String objectName = getS3ObjectName(blobNamespace, "snapshot", stateVersion); ObjectMetadata metadata = new ObjectMetadata(); metadata.addUserMetadata("to_state", String.valueOf(stateVersion)); metadata.setHeader("Content-Length", snapshotFile.length()); uploadFile(snapshotFile, objectName, metadata); /// now we update the snapshot index updateSnapshotIndex(stateVersion);/*from w w w . ja v a 2s . c o m*/ }
From source file:com.netflix.hollow.example.producer.infrastructure.S3Publisher.java
License:Apache License
@Override public void publishDelta(File deltaFile, long previousVersion, long currentVersion) { String objectName = getS3ObjectName(blobNamespace, "delta", previousVersion); ObjectMetadata metadata = new ObjectMetadata(); metadata.addUserMetadata("from_state", String.valueOf(previousVersion)); metadata.addUserMetadata("to_state", String.valueOf(currentVersion)); metadata.setHeader("Content-Length", deltaFile.length()); uploadFile(deltaFile, objectName, metadata); }