Service patterns
Latest stable Based on AWS release 0.4.0
The module follows repeatable patterns across services: request builders remove boilerplate, client extensions keep the AWS client explicit, and higher-level helpers encode pagination, batching, or repository rules.
Small object operations use client extensions. Large or multipart transfers belong to Transfer Manager. A normal move is copy then delete and can leave both objects when deletion fails; use the atomic helper only when rollback-by-delete matches the business requirement.
DynamoDB
Section titled “DynamoDB”Use enhanced-client schemas and DynamoDbCoroutineRepository for typed entities. Batch executors must handle unprocessed keys/items because DynamoDB can return partial success. Query DSL helpers reduce expression mistakes but do not choose indexes or capacity strategy for you.
SQS and SNS
Section titled “SQS and SNS”Long polling reduces empty receives. Delete an SQS message only after successful processing, and choose visibility changes for retry behavior. SNS HTTP parsing is not signature verification; validate the certificate chain, signature, version, and expected topic before acting on a notification.
KMS and secrets
Section titled “KMS and secrets”Keep plaintext in the narrowest scope. Do not put revealed values in data-class strings, structured logs, or exception messages. Retry throttling failures with the application’s bounded retry policy, not an infinite helper loop.
Service SDK policy
Section titled “Service SDK policy”bluetape4k-aws-java uses service SDKs as compileOnly. The consumer imports bluetape4k-dependencies, adds this library without a version, and adds only the needed software.amazon.awssdk:<service> modules.
Test progression
Section titled “Test progression”- Unit-test request mapping and failure policy.
- Run service behavior against Floci.
- Use LocalStack only for a documented emulator gap.
- Run a bounded AWS smoke test only when credentials and cleanup authority are explicit.