Open
Description
Before opening, please confirm:
- I have searched for duplicate or closed issues and discussions.
Language and Async Model
Kotlin, Kotlin - Coroutines
Amplify Categories
Storage
Gradle script dependencies
com-amazonaws = "2.77.0"
com-amazonaws-aws-android-sdk-s3 = { module = "com.amazonaws:aws-android-sdk-s3", version.ref = "com-amazonaws" }
Environment information
N.A.
Please include any relevant guides or documentation you're referencing
https://docs.amplify.aws/android/build-a-backend/storage/upload-files/
Describe the feature request
The use case is that temporary credentials are used to upload to a server but we also need to include the eTag to make sure we have the latest version of a file. However, the credentials don't allow .getObject or .getObjectMetadata calls for security reasons.
Using TransferObserver, you get the id and state but not the eTag:
object : TransferListener {
override fun onStateChanged(
id: Int,
state: TransferState,
) {
if (TransferState.COMPLETED == state) {
continuation.resume(state.name)
} else {
Timber.d("State changed to ${state.name}")
}
}
Please include the eTag in the onStateChanged parameters. Or include it in the fields of the TransferObserver when it's completed.
Initialization steps (if applicable)
No response
Code Snippet
// Put your code below this line.
amplifyconfiguration.json
No response
GraphQL Schema
// Put your schema below this line
Additional information and screenshots
No response