Object has been downloaded to local.
Downloaded Path : [demo\src\main\java\cafe24\demo\files\downloaded-file.txt]
package cafe24.demo;
import java.net.URI;
import java.util.List;
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.ListObjectsRequest;
import software.amazon.awssdk.services.s3.model.ListObjectsResponse;
import software.amazon.awssdk.services.s3.model.S3Exception;
import software.amazon.awssdk.services.s3.model.S3Object;
public class object_get_list {
public static void main(String[] args) {
final String endpoint_url = "https://kr.cafe24obs.com";
final String region_name = "kr1";
String bucketName = "test-bucket";
Region newRegion = Region.of(region_name);
ProfileCredentialsProvider credentialsProvider = ProfileCredentialsProvider.create();
S3Client s3Client = S3Client.builder()
.region(newRegion)
.endpointOverride(URI.create(endpoint_url))
.credentialsProvider(credentialsProvider)
.build();
System.out.println("Get list of all objects in the bucket.");
try {
ListObjectsRequest listObjects = ListObjectsRequest
.builder()
.bucket(bucketName)
.build();
ListObjectsResponse res = s3Client.listObjects(listObjects);
List<S3Object> objects = res.contents();
if (objects == null || objects.isEmpty()) {
System.out.println("The bucket is empty.");
return;
}
for (S3Object value : objects) {
System.out.print("\n Name : " + value.key() + "\tSize : " + calKb(value.size()) + "KBs\tOwner ID : "
+ value.owner().id());
}
} catch (S3Exception e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
s3Client.close();
}
// bytes를 kbs로 변환
private static long calKb(Long val) {
return val / 1024;
}
}
Get list of all objects in the bucket.
Name : folder/ Size : 0KBs Owner ID : clouduser
Name : folder/test-file-04 Size : 4KBs Owner ID : clouduser
Name : folder/test-file-05 Size : 4KBs Owner ID : clouduser
Name : folder/test-file-06 Size : 4KBs Owner ID : clouduser
Name : test-file-01 Size : 4KBs Owner ID : clouduser
Name : test-file-02 Size : 4KBs Owner ID : clouduser
Name : test-file-03 Size : 4KBs Owner ID : clouduser
package cafe24.demo;
import java.net.URI;
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.DeleteObjectRequest;
public class object_delete {
public static void main(String[] args) {
final String endpoint_url = "https://kr.cafe24obs.com";
final String region_name = "kr1";
Region newRegion = Region.of(region_name);
ProfileCredentialsProvider credentialsProvider = ProfileCredentialsProvider.create();
String bucketName = "test-bucket";
String fileName = "test-file.txt";
S3Client s3Client = S3Client.builder()
.region(newRegion)
.endpointOverride(URI.create(endpoint_url))
.credentialsProvider(credentialsProvider)
.build();
DeleteObjectRequest deleteObjectRequest = DeleteObjectRequest.builder()
.bucket(bucketName)
.key(fileName)
.build();
s3Client.deleteObject(deleteObjectRequest);
System.out.println("Object ["+fileName+"] has been deleted from the bucket.");
}
}
Object [test-file.txt] has been deleted from the bucket.
package cafe24.demo;
import java.net.URI;
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.CopyObjectRequest;
import software.amazon.awssdk.services.s3.model.CopyObjectResponse;
import software.amazon.awssdk.services.s3.model.S3Exception;
public class object_copy {
public static void main(String[] args) {
final String endpoint_url = "https://kr.cafe24obs.com";
final String region_name = "kr1";
Region newRegion = Region.of(region_name);
ProfileCredentialsProvider credentialsProvider = ProfileCredentialsProvider.create();
// 복사하려는 오브젝트의 이름
String objectKey = "bucket1-file.txt";
// 복사하려는 오브젝트가 위치한 버킷
String fromBucket = "test-bucket1";
// 붙여넣기 할 버킷
String toBucket = "test-bucket";
S3Client s3Client = S3Client.builder()
.region(newRegion)
.endpointOverride(URI.create(endpoint_url))
.credentialsProvider(credentialsProvider)
.build();
CopyObjectRequest copyReq = CopyObjectRequest.builder()
.sourceKey(objectKey)
.sourceBucket(fromBucket)
.destinationBucket(toBucket)
.destinationKey(objectKey)
.build();
try {
CopyObjectResponse copyRes = s3Client.copyObject(copyReq);
System.out.println("Copying object ["+objectKey+"] from ["+fromBucket+"] to ["+toBucket+"] has been completed");
System.out.println(copyRes.copyObjectResult().toString());
} catch (S3Exception e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
}
Copying object [bucket1-file.txt] from [test-bucket1] to [test-bucket] has been completed
CopyObjectResult(ETag=d9ebe4d6aeb33dea41ddb2b57e7b6d80, LastModified=2023-01-03T18:05:31.688Z)