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: