Getting the hash of a file on S3 requires HeadObject permission.
It is not practical to expect every client has this AWS permission.
Simply use the hash of the S3 URL instead of retrieving the hash of the S3 object to eliminate the S3 access requirement on the clients.
Actually, it's not a bad idea to force the client to run S3 API before submitting when S3 URL is passed, so we can ensure that the object exists. Closing this PR.
Getting the hash of a file on S3 requires HeadObject permission. It is not practical to expect every client has this AWS permission. Simply use the hash of the S3 URL instead of retrieving the hash of the S3 object to eliminate the S3 access requirement on the clients.