本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
日期参数更改
在版本 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());