Open kenyee opened 5 days ago
Forgot to mention, this is what we currently do to upload a file to S3:
suspend fun uploadWithPutObject(
ioDispatcher: CoroutineDispatcher,
s3Client: AmazonS3Client,
s3Bucket: String,
s3FileKeyName: String,
file: File,
): String =
withContext(ioDispatcher) {
s3Client.putObject(s3Bucket, s3FileKeyName, file).eTag
}
Thanks for submitting the feature request. Our team will prioritize the request and provide updates here.
Before opening, please confirm:
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:
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
amplifyconfiguration.json
No response
GraphQL Schema
Additional information and screenshots
No response