类com.amazonaws.services.s3.model.CopyObjectResult源码实例Demo

下面列出了怎么用com.amazonaws.services.s3.model.CopyObjectResult的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: beam   文件: S3FileSystem.java
@VisibleForTesting
CopyObjectResult atomicCopy(
    S3ResourceId sourcePath, S3ResourceId destinationPath, ObjectMetadata sourceObjectMetadata)
    throws AmazonClientException {
  CopyObjectRequest copyObjectRequest =
      new CopyObjectRequest(
          sourcePath.getBucket(),
          sourcePath.getKey(),
          destinationPath.getBucket(),
          destinationPath.getKey());
  copyObjectRequest.setNewObjectMetadata(sourceObjectMetadata);
  copyObjectRequest.setStorageClass(options.getS3StorageClass());
  copyObjectRequest.setSourceSSECustomerKey(options.getSSECustomerKey());
  copyObjectRequest.setDestinationSSECustomerKey(options.getSSECustomerKey());
  return amazonS3.get().copyObject(copyObjectRequest);
}
 
源代码2 项目: beam   文件: S3FileSystemTest.java
private void testAtomicCopy(S3Options options) {
  S3FileSystem s3FileSystem = buildMockedS3FileSystem(options);

  S3ResourceId sourcePath = S3ResourceId.fromUri("s3://bucket/from");
  S3ResourceId destinationPath = S3ResourceId.fromUri("s3://bucket/to");

  CopyObjectResult copyObjectResult = new CopyObjectResult();
  if (getSSECustomerKeyMd5(options) != null) {
    copyObjectResult.setSSECustomerKeyMd5(getSSECustomerKeyMd5(options));
  }
  CopyObjectRequest copyObjectRequest =
      new CopyObjectRequest(
          sourcePath.getBucket(),
          sourcePath.getKey(),
          destinationPath.getBucket(),
          destinationPath.getKey());
  copyObjectRequest.setSourceSSECustomerKey(options.getSSECustomerKey());
  copyObjectRequest.setDestinationSSECustomerKey(options.getSSECustomerKey());
  when(s3FileSystem.getAmazonS3Client().copyObject(any(CopyObjectRequest.class)))
      .thenReturn(copyObjectResult);
  assertEquals(
      getSSECustomerKeyMd5(options),
      s3FileSystem.getAmazonS3Client().copyObject(copyObjectRequest).getSSECustomerKeyMd5());

  ObjectMetadata sourceS3ObjectMetadata = new ObjectMetadata();
  s3FileSystem.atomicCopy(sourcePath, destinationPath, sourceS3ObjectMetadata);

  verify(s3FileSystem.getAmazonS3Client(), times(2)).copyObject(any(CopyObjectRequest.class));
}
 
源代码3 项目: entrada   文件: S3FileManagerImpl.java
@Override
public boolean move(String src, String dst, boolean archive) {
  log.info("Move: {} to {}", src, dst);
  // s3 has no move operation, so do a copy and delete
  // this is not an atomic operation
  Optional<S3Details> srcDetails = S3Details.from(src);
  Optional<S3Details> dstDetails = S3Details.from(dst);

  if (srcDetails.isPresent() && dstDetails.isPresent()) {
    CopyObjectRequest cor = new CopyObjectRequest(srcDetails.get().getBucket(),
        srcDetails.get().getKey(), dstDetails.get().getBucket(), dstDetails.get().getKey());
    // make sure to set the storage class for file copy
    if (archive) {
      // set class for archive file
      cor.setStorageClass(StorageClass.fromValue(StringUtils.upperCase(archiveStorageClass)));
    } else {
      // set class for parquet files
      cor.setStorageClass(StorageClass.fromValue(StringUtils.upperCase(uploadStorageClass)));
    }
    try {
      CopyObjectResult r = amazonS3.copyObject(cor);

      if (Objects.nonNull(r.getETag())) {
        // copy ok, delete src
        amazonS3.deleteObject(srcDetails.get().getBucket(), srcDetails.get().getKey());
      }

      return true;
    } catch (Exception e) {
      log.error("Error during copying {} to ", src, dst, e);
    }
  }
  return false;
}
 
@Override
public void handlePayload(TOCPayload payload, WorkerState workerState) throws Exception {
	
	TocInfo tocInfo = payload.tocInfo;
	
	String logPrefix = "handlePayload() KeyCopy s3://" + this.sourceS3BucketName + "/" + tocInfo.path + 
			" => s3://" + this.targetS3BucketName +"/"+ tocInfo.path;
	
	try {
	
		CopyObjectRequest copyRequest = new CopyObjectRequest(this.sourceS3BucketName, 
															  tocInfo.path, 
															  this.targetS3BucketName, 
															  tocInfo.path);
		copyRequest.setStorageClass(storageClass);
		// copyRequest.setGeneralProgressListener(this);
		
		if (this.enableServerSideEncryption) {
			copyRequest.putCustomRequestHeader("x-amz-server-side-encryption", "AES256");
		}
		
		CopyObjectResult copyResult = s3Client.copyObject(copyRequest);
		
		logger.debug(logPrefix + " copied OK");
		workerState.addTocPathWritten(new TocPathOpResult(payload.mode, true, tocInfo.path, "s3.copyKey", "OK"));
		
	} catch(Exception e) {
		logger.error(logPrefix + " unexpected ERROR: " + e.getMessage(),e);
		workerState.addTocPathWriteFailure(
				new TocPathOpResult(payload.mode, false, tocInfo.path, "s3.copyKey", logPrefix + " " + e.getMessage()));
	}
	
}
 
源代码5 项目: tutorials   文件: AWSS3Service.java
public CopyObjectResult copyObject(
  String sourceBucketName,
  String sourceKey,
  String destinationBucketName,
  String destinationKey
) {
    return s3client.copyObject(
      sourceBucketName, 
      sourceKey, 
      destinationBucketName, 
      destinationKey
    );
}
 
源代码6 项目: tutorials   文件: AWSS3ServiceIntegrationTest.java
@Test 
public void whenVerifyingCopyObject_thenCorrect() { 
    CopyObjectResult result = mock(CopyObjectResult.class); 
    when(s3.copyObject(anyString(), anyString(), anyString(), anyString())).thenReturn(result); 
 
    assertThat(service.copyObject(BUCKET_NAME, KEY_NAME, BUCKET_NAME2, KEY_NAME2)).isEqualTo(result); 
    verify(s3).copyObject(BUCKET_NAME, KEY_NAME, BUCKET_NAME2, KEY_NAME2);
}
 
源代码7 项目: nexus-public   文件: EncryptingAmazonS3Client.java
@Override
public CopyObjectResult copyObject(final CopyObjectRequest request) {
  encrypter.addEncryption(request);
  return super.copyObject(request);
}
 
源代码8 项目: nexus-public   文件: EncryptingAmazonS3Client.java
@Override
public CopyObjectResult copyObject(final String sourceBucketName, final String sourceKey,
                                   final String destinationBucketName, final String destinationKey) {
  return copyObject(new CopyObjectRequest(sourceBucketName, sourceKey, destinationBucketName, destinationKey));
}
 
源代码9 项目: ignite   文件: DummyS3Client.java
/** Unsupported Operation. */
@Override public CopyObjectResult copyObject(String srcBucketName, String srcKey, String destBucketName,
    String destKey) throws SdkClientException {
    throw new UnsupportedOperationException("Operation not supported");
}
 
源代码10 项目: ignite   文件: DummyS3Client.java
/** Unsupported Operation. */
@Override public CopyObjectResult copyObject(CopyObjectRequest cpObjReq) throws SdkClientException {
    throw new UnsupportedOperationException("Operation not supported");
}
 
源代码11 项目: Scribengin   文件: AmazonS3Mock.java
@Override
public CopyObjectResult copyObject(String sourceBucketName, String sourceKey, String destinationBucketName,
    String destinationKey) throws AmazonClientException, AmazonServiceException {
  // TODO Auto-generated method stub
  return null;
}
 
源代码12 项目: Scribengin   文件: AmazonS3Mock.java
@Override
public CopyObjectResult copyObject(CopyObjectRequest copyObjectRequest) throws AmazonClientException,
    AmazonServiceException {
  // TODO Auto-generated method stub
  return null;
}
 
 类方法
 同包方法