Skip to content

feat(eca62): add presigned URL, delete and exists methods to IS3 #609

Merged
yamelsenih merged 1 commit into
developfrom
feature/improve-s3-reference
Jun 9, 2026
Merged

feat(eca62): add presigned URL, delete and exists methods to IS3 #609
yamelsenih merged 1 commit into
developfrom
feature/improve-s3-reference

Conversation

@yamelsenih

Copy link
Copy Markdown
Contributor

feat(eca62): add presigned URL, delete and exists methods to IS3

Extend the IS3 storage abstraction with the standard object operations
that were missing for a presigned-URL based workflow, keeping all S3
logic inside the library.

IS3.java:

  • getUploadPresignedUrl(ResourceMetadata, contentType, expirationSeconds)
  • getDownloadPresignedUrl(ResourceMetadata, expirationSeconds)
  • deleteResource(ResourceMetadata)
  • exists(ResourceMetadata)

S3.java:

  • Implement the four methods over the existing AWS SDK v1 client using
    generatePresignedUrl (HttpMethod.PUT/GET), deleteObject and
    doesObjectExist, reusing getBucketName() and
    ResourceMetadata.getResourceFileName() for the object key.
  • contentType is bound to the PUT signature only when provided.

This lets callers sign upload/download URLs so the client transfers
bytes directly to/from S3, while bucket/region/credentials keep being
resolved from the per-client FileHandler (AD_AppRegistration).

feat(eca62): add presigned URL, delete and exists methods to IS3

  Extend the IS3 storage abstraction with the standard object operations
  that were missing for a presigned-URL based workflow, keeping all S3
  logic inside the library.

  IS3.java:
  - getUploadPresignedUrl(ResourceMetadata, contentType, expirationSeconds)
  - getDownloadPresignedUrl(ResourceMetadata, expirationSeconds)
  - deleteResource(ResourceMetadata)
  - exists(ResourceMetadata)

  S3.java:
  - Implement the four methods over the existing AWS SDK v1 client using
    generatePresignedUrl (HttpMethod.PUT/GET), deleteObject and
    doesObjectExist, reusing getBucketName() and
    ResourceMetadata.getResourceFileName() for the object key.
  - contentType is bound to the PUT signature only when provided.

  This lets callers sign upload/download URLs so the client transfers
  bytes directly to/from S3, while bucket/region/credentials keep being
  resolved from the per-client FileHandler (AD_AppRegistration).
@yamelsenih yamelsenih self-assigned this Jun 9, 2026
@yamelsenih yamelsenih added the enhancement New feature or request label Jun 9, 2026
@yamelsenih yamelsenih merged commit 0d97162 into develop Jun 9, 2026
3 checks passed
@yamelsenih yamelsenih deleted the feature/improve-s3-reference branch June 9, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant