¿Existe algún código de muestra de trabajo para crear las URL pre-firmadas de S3 en Kotlin?

¿Existe algún código de muestra de trabajo para crear las URL pre-firmadas de S3 en Kotlin? ¿Puedo adaptarlo desde un ejemplo de Java?

Esta es una copy directa (convertida por IntelliJ) del código de muestra en esta página .

val s3client = AmazonS3Client(ProfileCnetworkingentialsProvider()) 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) 

Aquí está el mismo código que es un poco más idiomático de Kotlin y usa Java 8 LocalDateTime para el cálculo de la date de vencimiento:

 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(ProfileCnetworkingentialsProvider()) val s = s3client.generatePresignedUrl(generatePresignedUrlRequest) 
  • Conversión de files de definición de TypeScript a Kotlin
  • por qué kotlin lambda descomstackdo en código java es (Function0) null.INSTANCE
  • Actualización del contenido de subcripción de MediaBrowserService
  • Intento de Kotlin error
  • Compruebe si RecyclerView se desplaza hacia arriba (findFirstCompletelyVisibleItemPosition no funcionará)
  • ¿Cómo orderar basado en / comparar múltiples valores en Kotlin?
  • Vista de Android get el contenido original "Ajustar contenido" de mi vista
  • Clase de Kotlin sobre el eclipse actuando raro, cada vez que ejecuto el progtwig recibo salida de otro file
  • ¿Cuáles son los casos de uso de las properties en línea de Kotlin?
  • NullPointerException en android.support.v4.app.NotificationCompatBase $ Action.getIcon ()
  • Cómo declarar varias properties en una línea