Page updated Apr 29, 2024

Remove files

The latest version of Amplify Storage supports specifying S3 objects as a paths.
We recommend using path instead of key to specify S3 objects.

Note: key parameter is deprecated and may be removed in next major version.

Delete an object uploaded to S3 by using Amplify.Storage.remove:

With StoragePath

1let removedObject = try await Amplify.Storage.remove(path: .fromString("public/example/path"))
2print("Deleted \(removedObject)")
1let sink = Amplify.Publisher.create {
2 try await Amplify.Storage.remove(path: .fromString("public/example/path"))
3}.sink {
4 if case let .failure(error) = $0 {
5 print("Failed: \(error)")
6 }
7}
8receiveValue: { removedObject in
9 print("Deleted \(removedObject)")
10}

With Key (Deprecated)

1let removedKey = try await Amplify.Storage.remove(key: "myKey")
2print("Deleted \(removedKey)")
1let sink = Amplify.Publisher.create {
2 try await Amplify.Storage.remove(key: "myKey")
3}.sink {
4 if case let .failure(error) = $0 {
5 print("Failed: \(error)")
6 }
7}
8receiveValue: { removedKey in
9 print("Deleted \(removedKey)")
10}