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.ListObjectsV2Request;
|
||||
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.PutObjectResponse;
|
||||
import software.amazon.awssdk.services.s3.model.S3Object;
|
||||
import software.amazon.awssdk.services.s3.model.S3Response;
|
||||
|
||||
public class BucketOperator {
|
||||
|
||||
|
@ -156,9 +158,21 @@ public class BucketOperator {
|
|||
* @param bucket
|
||||
* @param key
|
||||
* @param file
|
||||
* @param replace
|
||||
* @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()
|
||||
.bucket(bucket)
|
||||
.key(key)
|
||||
|
@ -184,13 +198,20 @@ public class BucketOperator {
|
|||
return response.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get object length in bytes
|
||||
* @param bucket
|
||||
* @param key
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
|
||||
public static Long getObjectSize( String bucket, String key)
|
||||
throws IOException {
|
||||
GetObjectRequest getObjectRequest = GetObjectRequest.builder()
|
||||
.bucket(bucket)
|
||||
.key(key)
|
||||
.build();
|
||||
|
||||
return client.getObject(getObjectRequest).response().contentLength();
|
||||
}
|
||||
|
||||
|
|
|
@ -40,14 +40,15 @@ import com.mongodb.MongoException;
|
|||
|
||||
public class S3PluginManager extends TransportManager {
|
||||
|
||||
Region region = Region.US_EAST_1;
|
||||
final String END_POINT = "https://s3.wasabisys.com";
|
||||
|
||||
S3Client s3;
|
||||
private Logger logger = LoggerFactory.getLogger(S3PluginManager.class);
|
||||
|
||||
// THE FOLLOWING FIELDS SHOULD BE RETRIEVED FROM SERVICEENDPOINT
|
||||
static final String ACCESS_KEY="UXMKEBMZBDROS5K9HREG";
|
||||
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";
|
||||
|
||||
|
||||
|
@ -87,7 +88,7 @@ public class S3PluginManager extends TransportManager {
|
|||
logger.info("put method invoked ");
|
||||
File file= new File(upload.getResource().getLocalPath());
|
||||
// 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+"";
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue