added replace file feature
This commit is contained in:
parent
a63c5e1874
commit
2cb929d0f4
|
@ -28,9 +28,11 @@ import software.amazon.awssdk.services.s3.model.ListBucketsRequest;
|
||||||
import software.amazon.awssdk.services.s3.model.ListBucketsResponse;
|
import software.amazon.awssdk.services.s3.model.ListBucketsResponse;
|
||||||
import software.amazon.awssdk.services.s3.model.ListObjectsV2Request;
|
import software.amazon.awssdk.services.s3.model.ListObjectsV2Request;
|
||||||
import software.amazon.awssdk.services.s3.model.ListObjectsV2Response;
|
import software.amazon.awssdk.services.s3.model.ListObjectsV2Response;
|
||||||
|
import software.amazon.awssdk.services.s3.model.NoSuchKeyException;
|
||||||
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
|
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
|
||||||
import software.amazon.awssdk.services.s3.model.PutObjectResponse;
|
import software.amazon.awssdk.services.s3.model.PutObjectResponse;
|
||||||
import software.amazon.awssdk.services.s3.model.S3Object;
|
import software.amazon.awssdk.services.s3.model.S3Object;
|
||||||
|
import software.amazon.awssdk.services.s3.model.S3Response;
|
||||||
|
|
||||||
public class BucketOperator {
|
public class BucketOperator {
|
||||||
|
|
||||||
|
@ -156,9 +158,21 @@ public class BucketOperator {
|
||||||
* @param bucket
|
* @param bucket
|
||||||
* @param key
|
* @param key
|
||||||
* @param file
|
* @param file
|
||||||
|
* @param replace
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static PutObjectResponse putObject(String bucket, String key, File file) {
|
public static S3Response putObject(String bucket, String key, File file, boolean replace) {
|
||||||
|
if(!replace) {
|
||||||
|
GetObjectRequest getObjectRequest = GetObjectRequest.builder()
|
||||||
|
.bucket(bucket)
|
||||||
|
.key(key)
|
||||||
|
.build();
|
||||||
|
try {
|
||||||
|
return client.getObject(getObjectRequest).response();
|
||||||
|
}catch (NoSuchKeyException e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
PutObjectRequest objectRequest = PutObjectRequest.builder()
|
PutObjectRequest objectRequest = PutObjectRequest.builder()
|
||||||
.bucket(bucket)
|
.bucket(bucket)
|
||||||
.key(key)
|
.key(key)
|
||||||
|
@ -184,13 +198,20 @@ public class BucketOperator {
|
||||||
return response.toString();
|
return response.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get object length in bytes
|
||||||
|
* @param bucket
|
||||||
|
* @param key
|
||||||
|
* @return
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
|
||||||
public static Long getObjectSize( String bucket, String key)
|
public static Long getObjectSize( String bucket, String key)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
GetObjectRequest getObjectRequest = GetObjectRequest.builder()
|
GetObjectRequest getObjectRequest = GetObjectRequest.builder()
|
||||||
.bucket(bucket)
|
.bucket(bucket)
|
||||||
.key(key)
|
.key(key)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
return client.getObject(getObjectRequest).response().contentLength();
|
return client.getObject(getObjectRequest).response().contentLength();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,14 +40,15 @@ import com.mongodb.MongoException;
|
||||||
|
|
||||||
public class S3PluginManager extends TransportManager {
|
public class S3PluginManager extends TransportManager {
|
||||||
|
|
||||||
Region region = Region.US_EAST_1;
|
|
||||||
final String END_POINT = "https://s3.wasabisys.com";
|
|
||||||
S3Client s3;
|
S3Client s3;
|
||||||
private Logger logger = LoggerFactory.getLogger(S3PluginManager.class);
|
private Logger logger = LoggerFactory.getLogger(S3PluginManager.class);
|
||||||
|
|
||||||
// THE FOLLOWING FIELDS SHOULD BE RETRIEVED FROM SERVICEENDPOINT
|
// THE FOLLOWING FIELDS SHOULD BE RETRIEVED FROM SERVICEENDPOINT
|
||||||
static final String ACCESS_KEY="UXMKEBMZBDROS5K9HREG";
|
static final String ACCESS_KEY="UXMKEBMZBDROS5K9HREG";
|
||||||
static final String SECRET_ACCESS_KEY="0Mqu8gmzcZ09wuqqKZwNmuS5bYC549MlZhvfgv6W";
|
static final String SECRET_ACCESS_KEY="0Mqu8gmzcZ09wuqqKZwNmuS5bYC549MlZhvfgv6W";
|
||||||
|
Region region = Region.US_EAST_1;
|
||||||
|
final String END_POINT = "https://s3.wasabisys.com";
|
||||||
static final String bucket="gcube-home-test-access";
|
static final String bucket="gcube-home-test-access";
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,7 +88,7 @@ public class S3PluginManager extends TransportManager {
|
||||||
logger.info("put method invoked ");
|
logger.info("put method invoked ");
|
||||||
File file= new File(upload.getResource().getLocalPath());
|
File file= new File(upload.getResource().getLocalPath());
|
||||||
// return BucketOperator.getInstance(s3).putObject(bucket, Utils.convertToS3Format(upload.getResource().getRemotePath()), file).toString();
|
// return BucketOperator.getInstance(s3).putObject(bucket, Utils.convertToS3Format(upload.getResource().getRemotePath()), file).toString();
|
||||||
int hashcode=BucketOperator.getInstance(s3).putObject(bucket, Utils.convertToS3Format(upload.getResource().getRemotePath()), file).hashCode();
|
int hashcode=BucketOperator.getInstance(s3).putObject(bucket, Utils.convertToS3Format(upload.getResource().getRemotePath()), file, upload.isReplaceOption()).hashCode();
|
||||||
return hashcode+"";
|
return hashcode+"";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue