Skip to main content

AWS S3 Integration

The AWS S3 integration supports production file uploads through presigned URLs and backend-managed completion.

Upload Flow

  1. Initialize an upload session.
  2. Upload file bytes to the presigned S3 URL.
  3. Complete the upload with part metadata.
curl -X POST http://localhost:8080/v1/files/uploads/init \
-H "Content-Type: application/json" \
-d '{"fileName":"test.pdf","mimeType":"application/pdf","fileSize":1024}'
curl -X POST http://localhost:8080/v1/files/uploads/complete \
-H "Content-Type: application/json" \
-d '{"sessionId":"...","parts":[{"partNumber":1,"eTag":"..."}]}'

Runtime Components

ComponentPurpose
AwsS3IntegrationUtilReads and reports configured S3 settings
InternalAwsS3IntegrationInitializerInitializes account-level S3 setup
S3StorageDriverImplements storage-driver behavior for S3
FileUploadServiceOrchestrates upload sessions
FileControllerExposes upload REST endpoints

Operational Rule

Use IAM roles or managed credentials in production. Do not hardcode AWS keys in application config, docs, scripts, or examples.

Related: