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

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

Date 参数更改

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

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

例 - 在版本 1 中,使用 Date 指定过期日期来生成预签名 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 中,使用 Instant 指定过期时间来生成预签名 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());