2016-05-04 5 views
0

ich ein Problem mit meinem Presigned habe downloand URLC# AWS SDK Presigned Download-URL ist immer abgelaufen

using (var S3Client = new AmazonS3Client(AppSettings.AwsAccessKey, AppSettings.AwsSecretKey, Amazon.RegionEndpoint.USEast1)) 
      { 
       GetPreSignedUrlRequest request = new GetPreSignedUrlRequest 
       { 
        BucketName = AppSettings.AwsS3BucketName, 
        Key = Filename, 
        Expires = DateTime.Now.AddSeconds(ExpirationSeconds),       
        Verb = HttpVerb.GET 
       }; 
       return S3Client.GetPreSignedURL(request); 
      } 

ich in der Regel 10 gesetzt - 30 Sekunden für Ablauf auf und über die plötzliche beginne ich Empfang eines Nachricht, dass meine URL abgelaufen ist.

<Error> 
    <Code>AccessDenied</Code> 
    <Message>Request has expired</Message> 
    <Expires>2016-05-04T11:21:39Z</Expires> 
    <ServerTime>2016-05-04T11:22:12Z</ServerTime> 
    <RequestId>F329329970936A18</RequestId> 
    <HostId>womi/k5E9ffDDa6PffCcWBMYzUF2i4oRIY+QX6R/6v0IjQlipYA2OKBPQOflkoLIl4+wk6So7Ks=</HostId> 
</Error> 

Datumsunterschied ist zu groß. Was stimmt damit nicht?

Antwort

0

Ihre lokale Maschinenzeit ist wahrscheinlich anders als die AWS-Zeit.

Ich hatte ein ähnliches Problem, wo meine Maschine aus dem Schlafmodus wieder aufgenommen wurde und war 15 Minuten in Echtzeit.