Example usage for com.amazonaws.services.s3.model UploadPartRequest setMd5Digest

List of usage examples for com.amazonaws.services.s3.model UploadPartRequest setMd5Digest

Introduction

In this page you can find the example usage for com.amazonaws.services.s3.model UploadPartRequest setMd5Digest.

Prototype

public void setMd5Digest(String md5Digest) 

Source Link

Document

Sets the optional, but recommended, MD5 hash of the content of this part.

Usage

From source file:c3.ops.priam.aws.S3PartUploader.java

License:Apache License

private Void uploadPart() throws AmazonClientException, BackupRestoreException {
    UploadPartRequest req = new UploadPartRequest();
    req.setBucketName(dataPart.getBucketName());
    req.setKey(dataPart.getS3key());//  ww  w . j a  v a2 s .co m
    req.setUploadId(dataPart.getUploadID());
    req.setPartNumber(dataPart.getPartNo());
    req.setPartSize(dataPart.getPartData().length);
    req.setMd5Digest(SystemUtils.toBase64(dataPart.getMd5()));
    req.setInputStream(new ByteArrayInputStream(dataPart.getPartData()));
    UploadPartResult res = client.uploadPart(req);
    PartETag partETag = res.getPartETag();
    if (!partETag.getETag().equals(SystemUtils.toHex(dataPart.getMd5())))
        throw new BackupRestoreException("Unable to match MD5 for part " + dataPart.getPartNo());
    partETags.add(partETag);
    return null;
}

From source file:com.eucalyptus.objectstorage.providers.s3.S3ProviderClient.java

License:Open Source License

@Override
public UploadPartResponseType uploadPart(UploadPartType request, InputStream dataContent) throws S3Exception {
    String bucketName = request.getBucket();
    String key = request.getKey();

    User requestUser = getRequestUser(request);
    OsgInternalS3Client internalS3Client = null;
    try {//from  w  w w.ja  v a  2 s  .  c o m
        internalS3Client = getS3Client(requestUser);
        AmazonS3Client s3Client = internalS3Client.getS3Client();

        UploadPartResult result;
        UploadPartRequest uploadPartRequest = new UploadPartRequest();
        uploadPartRequest.setBucketName(bucketName);
        uploadPartRequest.setKey(key);
        uploadPartRequest.setInputStream(dataContent);
        uploadPartRequest.setUploadId(request.getUploadId());
        uploadPartRequest.setPartNumber(Integer.valueOf(request.getPartNumber()));
        uploadPartRequest.setMd5Digest(request.getContentMD5());
        uploadPartRequest.setPartSize(Long.valueOf(request.getContentLength()));
        try {
            result = s3Client.uploadPart(uploadPartRequest);
        } catch (AmazonServiceException e) {
            LOG.debug("Error from backend", e);
            throw S3ExceptionMapper.fromAWSJavaSDK(e);
        }
        UploadPartResponseType reply = request.getReply();
        reply.setEtag(result.getETag());
        reply.setLastModified(new Date());
        return reply;
    } catch (AmazonServiceException e) {
        LOG.debug("Error from backend", e);
        throw S3ExceptionMapper.fromAWSJavaSDK(e);
    }
}

From source file:com.netflix.exhibitor.core.backup.s3.S3BackupProvider.java

License:Apache License

private PartETag uploadChunk(byte[] buffer, int bytesRead, InitiateMultipartUploadResult initResponse,
        int index) throws Exception {
    byte[] md5 = S3Utils.md5(buffer, bytesRead);

    UploadPartRequest request = new UploadPartRequest();
    request.setBucketName(initResponse.getBucketName());
    request.setKey(initResponse.getKey());
    request.setUploadId(initResponse.getUploadId());
    request.setPartNumber(index);/*from  w w w . j ava  2s  .  c o m*/
    request.setPartSize(bytesRead);
    request.setMd5Digest(S3Utils.toBase64(md5));
    request.setInputStream(new ByteArrayInputStream(buffer, 0, bytesRead));

    UploadPartResult response = s3Client.uploadPart(request);
    PartETag partETag = response.getPartETag();
    if (!response.getPartETag().getETag().equals(S3Utils.toHex(md5))) {
        throw new Exception("Unable to match MD5 for part " + index);
    }

    return partETag;
}

From source file:com.upplication.s3fs.S3OutputStream.java

License:Open Source License

private void uploadPart(final InputStream content, final long contentLength, final byte[] checksum,
        final int partNumber, final boolean lastPart) throws IOException {

    if (aborted)/*w  ww  .j  a v  a  2s.  com*/
        return;

    final UploadPartRequest request = new UploadPartRequest();
    request.setBucketName(objectId.getBucket());
    request.setKey(objectId.getKey());
    request.setUploadId(uploadId);
    request.setPartNumber(partNumber);
    request.setPartSize(contentLength);
    request.setInputStream(content);
    request.setLastPart(lastPart);
    request.setMd5Digest(Base64.encodeAsString(checksum));

    final PartETag partETag = s3.uploadPart(request).getPartETag();
    log.trace("Uploaded part {} with length {} for {}: {}", partETag.getPartNumber(), contentLength, objectId,
            partETag.getETag());
    partETags.add(partETag);

}