awslabs / aws-sdk-kotlin

Multiplatform AWS SDK for Kotlin
Apache License 2.0
403 stars 50 forks source link

CloudFront Presigned URL Generator #746

Open aajtodd opened 1 year ago

aajtodd commented 1 year ago

Describe the feature

Add support for creating presigned URLs for CloudFront

Is your Feature Request related to a problem?

https://github.com/aws/aws-sdk-java-v2/issues/370

Proposed Solution

No response

Describe alternative solutions or features you've considered

No response

Acknowledge

AWS Kotlin SDK version used

N/A

Platform (JVM/JS/Native)

N/A

Operating System and version

N/A

mgroth0 commented 1 year ago

I'd like to request this feature for S3 as well.

lauzadis commented 1 year ago

@mgroth0 We already support creating presigned URLs for S3. You can use either an S3Client.Config or a S3PresignConfig. Here is a small code snippet to help get you started.

// Using a client
val client = S3Client { ... }
val presignedRequest = GetObjectRequest {
    bucket = ...
    key = ...
}.presign(client.config, 1L.hours)

// Using an S3PresignConfig
val presignConfig = S3PresignConfig { ... }
val presignedRequest = GetObjectRequest {
    bucket = ...
    key = ...
}.presign(presignConfig, 1L.hours)
mgroth0 commented 1 year ago

Thanks @lauzadis . I wonder if you have a different philsophy in this library compared to the java s3 sdk? Since the java one includes functions that directly do things like check for the existance of a bucket or object and to create a pre-signed URL. (As I brought up here https://github.com/awslabs/aws-sdk-kotlin/issues/873)

It's incredibly helpful to have a coroutines-based S3 library. Thanks for the great work.

austinarbor commented 3 months ago

is there an updated ETA on this?

lauzadis commented 3 months ago

Hi @austinarbor, we don't have an update on this and it's still in our backlog. Thanks for giving a thumbs-up, that helps us better prioritize feature requests