Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deleting file from S3 bucket in iOS app (Swift)

I am writing an iOS app in Swift, and am using Amazon S3 to store files. I was wondering if anyone knows how I can programmatically delete files in my S3 bucket on command (instead of setting a delete policy in the bucket lifecycle).

Thanks in advance

like image 622
user5739562 Avatar asked Dec 03 '22 14:12

user5739562


2 Answers

Your code to delete a file from S3 bucket should look something like this:

    let s3 = AWSS3.defaultS3()
    let deleteObjectRequest = AWSS3DeleteObjectRequest()
    deleteObjectRequest.bucket = "yourBucketName"
    deleteObjectRequest.key = "yourFileName"
    s3.deleteObject(deleteObjectRequest).continueWithBlock { (task:AWSTask) -> AnyObject? in
        if let error = task.error {
            print("Error occurred: \(error)")
            return nil
        }
        print("Deleted successfully.")
        return nil
    }

Thanks, Rohan

like image 187
Rohan Dubal Avatar answered Dec 26 '22 00:12

Rohan Dubal


Swift 4+

If your not initial yet

let credentialsProvider = AWSCognitoCredentialsProvider(regionType:.APSoutheast1, identityPoolId: "yourPoolID")

let configuration = AWSServiceConfiguration(region:.APSoutheast1, credentialsProvider:credentialsProvider)

AWSServiceManager.default().defaultServiceConfiguration = configuration

And

let s3 = AWSS3.default()
guard let deleteObjectRequest = AWSS3DeleteObjectRequest() else {
    return
}
deleteObjectRequest.bucket = "yourBucketName"
deleteObjectRequest.key = "yourFileName"
s3.deleteObject(deleteObjectRequest).continueWith { (task:AWSTask) -> AnyObject? in
    
    if let error = task.error {
        print("Error occurred: \(error)")
        return nil
    }
    print("Deleted successfully.")
    return nil
    
}
like image 42
Saharat Sittipanya Avatar answered Dec 26 '22 00:12

Saharat Sittipanya