Skip to content

feat(dynamodb): DynamoDB Streams read API and Kinesis streaming destination#515

Merged
Nahuel990 merged 2 commits intoministackorg:mainfrom
marcin-nowak-scl:feat/dynamodb-kinesis-streams
Apr 29, 2026
Merged

feat(dynamodb): DynamoDB Streams read API and Kinesis streaming destination#515
Nahuel990 merged 2 commits intoministackorg:mainfrom
marcin-nowak-scl:feat/dynamodb-kinesis-streams

Conversation

@marcin-nowak-scl
Copy link
Copy Markdown
Contributor

@marcin-nowak-scl marcin-nowak-scl commented Apr 29, 2026

Summary

Exposes DynamoDB Streams read-side behaviour suitable for local integration tests and implements / wires Kinesis streaming destination handling so stacks using aws_dynamodb_kinesis_streaming_destination (or equivalent) can be exercised against MiniStack.

What changed

  • ministack/services/dynamodb_streams.py — stream records / iterator semantics.
  • Extensions to ministack/services/dynamodb.py and ministack/services/kinesis.py.
  • Router / app registration as needed.
  • New tests: tests/test_dynamodb_streams.py, tests/test_dynamodb_kinesis_destination.py, tests/conftest.py fixture updates.
  • README and CHANGELOG updated.

How to test

$py = git diff main...HEAD --name-only -- ministack/ | Where-Object { $_ -match '\.py$' }
if ($py) { ruff check @py }

pytest tests/test_dynamodb_streams.py tests/test_dynamodb_kinesis_destination.py -v --tb=short

PR checklist

  • Service code in ministack/services/
  • app.py / router.py updated
  • tests/conftest.py fixtures where needed
  • Tests added
  • Ruff: no new issues in ministack/ .py files this PR changes (scoped check vs main; see Ruff / lint above)
  • README.md / CHANGELOG.md updated

@github-actions
Copy link
Copy Markdown

Docker image for this PR has been published: ministackorg/ministack-preview-build:pr-515-07bf97a4

@github-actions
Copy link
Copy Markdown

Docker image for this PR has been published: ministackorg/ministack-preview-build:pr-515-b32a42e4

@Nahuel990
Copy link
Copy Markdown
Collaborator

@marcin-nowak-scl thanks! I'm taking this in, but I'll apply some changes before release... the Kinesis streaming destination should fan out independently of DDB Streams being enabled (AWS treats them as separate subscriptions), and right now it's gated on StreamSpecification.StreamEnabled

@Nahuel990 Nahuel990 merged commit 7f4bebd into ministackorg:main Apr 29, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants