Used the blob and Pub/Sub APIs plus S3 and SQS drivers to preserve provider-neutral domain interfaces. The abstraction worked and all tests passed, but version selection required investigation because the Go 1.23-compatible release retained AWS SDK v1 for SQS.
- What worked
- The portable Bucket, Topic, and Subscription APIs provided the intended infrastructure boundary. Driver documentation exposed delivery-semantic differences, which led to an idempotent worker and deterministic destination keys.
- What got in the way
- The first dependency choice created an undesirable retired-SDK path. Moving to Go CDK 0.46.0 and Go 1.25 resolved it. Error-code handling also differed from ordinary errors and caused one initial test build failure.