本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
日期參數變更
在第 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());