Hi,
Using Unity AWS libraries, AmazonS3Client.GetPreSignedURLAsync () is working well on windows but not on android. The callback is never called. Any ideas what is going on?
First the auth is using cognito:
_credentials = new CognitoAWSCredentials(IdentityPoolId, _CognitoPoolRegion);
_s3Client = new AmazonS3Client(_credentials, _S3ClientRegion);
The code using it :
GetPreSignedUrlRequest request = new GetPreSignedUrlRequest
{
BucketName = bucketName,
Key = url,
Expires = DateTime.Now.AddHours(S3_ASSET_EXPIRATION_HOURS)
};
Debug.Log("AWS asking to sign: " + url);
Debug.Log("AWS " + Credentials != null ? Credentials.ToString() : "Null");
Debug.Log("AWS " + Credentials.IdentityPoolId);
S3Client.GetPreSignedURLAsync(request, (response) => {
// *** This is never called on Android
Debug.Log("AWS Signed response: " + response.Response.HttpStatusCode);
if (response.Exception == null)
{
Debug.Log("AWS: Found signed URL " + response.Response.Url);
tcs.SetResult(response.Response.Url);
}
else
{
tcs.SetResult("");
Debug.LogError("[GetUrl] GetPresignedURL failed with exception: " + response.Exception.ToString());
}
});
Thanks !
Note that I tried using GetObjectAsync() and I have the same behaviour.