```swift
do {
let result = try await Amplify.DataStore.query(
Post.self,
sort: .by(
.ascending(Post.keys.rating),
.descending(Post.keys.title)
)
)
print("Posts: \(result)")
} catch let error as DataStoreError {
print("Failed with error \(error)")
} catch {
print("Error listing posts - \(error)")
}
```
```swift
let sink = Amplify.Publisher.create {
try await Amplify.DataStore.query(
Post.self,
sort: .by(
.ascending(Post.keys.rating),
.descending(Post.keys.title)
)
)
}.sink {
if case let .failure(error) = $0 {
print("Error listing posts - \(error)")
}
}
receiveValue: { result in
print("Posts: \(result)")
}
```