My Android app is currently uploading to Amazon S3 bucket through Presigned URL. However, we kind of need to have a pause and continue interrupted upload because our userbase are in low connectivity area.
It seems that there is no way to do this using S3 Presigned URL (correct me if I am wrong). After searching a while, I found out that there is TransferUtility in AWS S3 SDK for Android. This utility seems can do pause and continue interrupted upload.
But in the example, it seems that we need to create an Amazon Cognito pool. For now, I don't want to be committed to migrating our users to Cognito just to do this.
Is there any way to utilize TransferUtility without Cognito but still pretty secure? I am thinking of creating a temporary credentials using STS only for a one object in the bucket and then pass it to the Android through similar API that we use to pass the presigned URL. But AFAIK, STS can only assume one role, we cannot limit it to one single object.