Le immagini vengono caricate su un bucket Amazon S3. Devo ottenere un URL preselezionato dal server Amazon. Inoltre voglio impostare il tempo di scadenza di tale URL. Questo può richiedere solo un massimo di 17 giorni. Ma non posso impostare un massimo di 1 anno di scadenza.Come impostare il tempo di scadenza dell'URL del secchio Amazon S3 in 1 anno dalla data corrente
Calendar cal = Calendar.getInstance();
cal.add(Calendar.YEAR, 1);
Date nextYear = cal.getTime();
GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(
"bucketName", "accessname");
generatePresignedUrlRequest.setMethod(HttpMethod.GET);
generatePresignedUrlRequest
.setExpiration(nextYear);
URL url = s3client
.generatePresignedUrl(generatePresignedUrlRequest);
bucketURL = url.toString();
TL: DR - la firma v4 algo consente solo 7 giorni. (Per quanto riguarda la v4 dai documenti: questa ultima versione della firma è supportata in tutte le regioni e ogni nuova regione dopo il 30 gennaio 2014 supporterà solo la versione 4 della firma). Pertanto, è meglio generare l'URL preselezionato quando richiesto. – HopeKing