Unity AWS S3 GetPreSignedURLAsync is not working on android

0

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.

已提問 2 年前檢視次數 269 次
1 個回答
0

I finally found that the Unity SDK is not working . I changed to the .NET 2.1 SDK from nuGet and now it is working. So there is definitely something wrong with the Unity Asynchronous SDK.

已回答 1 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南