```swift func uploadData() { let dataString = "Example file contents" let data = Data(dataString.utf8) Amplify.Storage.uploadData(key: "ExampleKey", data: data, progressListener: { progress in print("Progress: \(progress)") }, resultListener: { (event) in switch event { case .success(let data): print("Completed: \(data)") case .failure(let storageError): print("Failed: \(storageError.errorDescription). \(storageError.recoverySuggestion)") } }) } ``` ```swift // In your type's instance variables var resultSink: AnyCancellable? var progressSink: AnyCancellable? // ... func uploadData() { let dataString = "Example file contents" let data = Data(dataString.utf8) let storageOperation = Amplify.Storage.uploadData(key: "ExampleKey", data: data) progressSink = storageOperation .progressPublisher .sink { progress in print("Progress: \(progress)") } resultSink = storageOperation .resultPublisher .sink { if case let .failure(storageError) = $0 { print("Failed: \(storageError.errorDescription). \(storageError.recoverySuggestion)") } } receiveValue: { data in print("Completed: \(data)") } } ```