是否有在Kotlin中创建S3的预先签名的URL的示例工作代码

有没有在Kotlin上创建S3的预先签名的URL的示例工作代码? 我可以适应从Java的例子吗?

这是本页面上示例代码的直接副本(由IntelliJ转换)。

val s3client = AmazonS3Client(ProfileCredentialsProvider()) val expiration = java.util.Date() var msec = expiration.time msec += (1000 * 60 * 60).toLong() // 1 hour. expiration.time = msec val generatePresignedUrlRequest = GeneratePresignedUrlRequest(bucketName, objectKey) generatePresignedUrlRequest.setMethod(HttpMethod.GET) // Default. generatePresignedUrlRequest.setExpiration(expiration) val s = s3client.generatePresignedUrl(generatePresignedUrlRequest) 

这是相同的代码,这是一个更习惯Kotlin和使用Java 8 LocalDateTime计算到期日期:

 val expiration = LocalDateTime.now().plusHours(1) val generatePresignedUrlRequest = GeneratePresignedUrlRequest(bucketName, objectKey).apply { method = HttpMethod.GET expiration = Date.from(expiration.atZone(ZoneId.systemDefault()).toInstant()) } val s3client = AmazonS3Client(ProfileCredentialsProvider()) val s = s3client.generatePresignedUrl(generatePresignedUrlRequest)