Reputation: 190
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
Upvotes: 6
Views: 3215
Reputation: 321
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
}
Upvotes: 2
Reputation: 847
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
Upvotes: 17