티스토리 뷰

공부

[s3] delete (object & version)

승가비 2023. 1. 24. 06:24
728x90
class S3(
    var bucketName: String? = null,
    var key: String? = null,
    val accessKey: String? = null,
    val secretKey: String? = null,
    val region: String? = null
)

fun delete(
    s3: S3,
    keyword: String = "",
) {
    with(s3) {
        val client = client(accessKey, secretKey, region)

        var objects = client.listObjects(bucketName, key)
        while (true) {
            for (i in objects.objectSummaries) {
                if (!i.key.contains(keyword)) {
                    continue
                }
                client.deleteObject(bucketName, i.key)
            }

            if (objects.isTruncated) {
                objects = client.listNextBatchOfObjects(objects)
            } else {
                break
            }
        }

        var versions = client.listVersions(bucketName, key)
        while (true) {
            for (i in versions.versionSummaries) {
                if (!i.key.contains(keyword)) {
                    continue
                }
                client.deleteVersion(bucketName, i.key, i.versionId)
            }

            if (versions.isTruncated) {
                versions = client.listNextBatchOfVersions(versions)
            } else {
                break
            }
        }
    }
}

https://stackoverflow.com/questions/7763239/delete-files-directories-and-buckets-in-amazon-s3-java/75215199#75215199

 

Delete files, directories and buckets in amazon s3 java

I'm wondering how to do this. I looked at the sdk documentation and have some examples, but am confused how the syntax generally goes. If I want to delete a file, I assume I use deleteObject(path...

stackoverflow.com

https://stackoverflow.com/questions/68035269/delete-all-versions-of-an-object-s3-using-java

 

Delete all versions of an object S3 using java

I want to delete all versions of an object with a given key using software.amazon.awssdk.s3 v2. So far I found out there is no such deleteAllVersions(key), you have to get all versionIds of your ob...

stackoverflow.com

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/delete-objects.html

 

단일 객체 삭제 - Amazon Simple Storage Service

다음 예제에서는 버킷에서 버전 관리를 사용하지 않고 객체에 버전 ID가 없다고 가정합니다. 삭제 요청 시, 객체 키만 지정하며 버전 ID는 지정하지 않습니다. 실제 예제를 작성 및 테스트하는 방

docs.aws.amazon.com

 

728x90
댓글