日期参数更改 - AWS SDK for Java 2.x

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

日期参数更改

在版本 1 中,许多操作都接受基于时间的参数java.util.Date对象。在版本 2 中,这些操作使用java.time.Instant对象代替。

您可以使用迁移工具自动转换Date参数,也可以通过在Date对象上调用该toInstant()方法来手动转换参数。

例 -在版本 1 中生成带有到期日期的预签名 URL
// Generate a presigned URL that expires at a specific date Date expiration = new Date(System.currentTimeMillis() + 3600000); // 1 hour from now URL presignedUrl = s3Client.generatePresignedUrl(bucketName, keyName, expiration);
例 -在版本 2 中生成带有即时到期时间的预签名 URL
// Generate a presigned URL that expires at a specific instant Date expiration = new Date(System.currentTimeMillis() + 3600000); // 1 hour from now PresignedGetObjectRequest presignedRequest = presigner.presignGetObject( GetObjectPresignRequest.builder() .getObjectRequest(GetObjectRequest.builder() .bucket(bucketName) .key(keyName) .build()) .signatureDuration(Duration.between(Instant.now(), expiration.toInstant())) .build());