Expand description
§faucet-source-dynamodb
Amazon DynamoDB source connector for faucet-stream:
mode: scan— parallelScan(segments→Segment/TotalSegments, also exposed as cluster shards), resumable per-segment cursors;mode: query—Queryby key condition, optionally on an index;mode: streams— DynamoDB Streams CDC: parent-before-child shard ordering, cumulative per-shard sequence bookmarks,cdc_unwrap-compatible{op, before, after, key}envelopes, trim-horizon gap detection withon_gap: fail | resnapshot, andcapture_resume_positionforfaucet mirror.
Items are converted to plain JSON without precision loss (numbers that are not exactly representable stay strings; sets become arrays; binary becomes base64). Delivery is at-least-once.
Structs§
- Dynamo
DbSource - Amazon DynamoDB source. See the crate README for semantics.
- Dynamo
DbSource Config - Configuration for
DynamoDbSource. - Retry
Policy - Retry/backoff settings exposed on both connector configs.
- Scan
Bookmark - Scan / query bookmark.
- Stream
Bookmark - Streams bookmark.
Enums§
- Dynamo
DbCredentials - How to authenticate with AWS DynamoDB (and DynamoDB Streams).
- OnGap
- What to do when the bookmark points before the Streams trim horizon (a resume after more than 24 hours, a re-enabled stream, a shard that expired before it was read).
- Read
Mode - What the source reads.
- Segment
Cursor - Where one scan segment (or the single query cursor) stands.
- Stream
Start - Where a stream shard starts when no bookmark exists for it.
- Value
Format - How records carry attribute values:
plainJSON (the default) or DynamoDB’stypedattribute JSON ({"pk": {"S": "a"}, "tags": {"SS": [..]}}).typedkeeps sets, binaries and numbers of any precision exactly, so a DynamoDB-to-DynamoDB copy round-trips every attribute type.
Constants§
- DESCRIPTOR
- The connector’s static descriptor (RFC 0013): its capabilities, answered from config alone.
- MAX_
SEGMENTS - DynamoDB’s
TotalSegmentsceiling.
Functions§
- build_
client - Build an
aws_sdk_dynamodb::Client.endpoint_urloverrides the endpoint for DynamoDB Local / LocalStack / VPC endpoints. No network I/O. - build_
envelope - Assemble the envelope object.
- build_
streams_ client - Build an
aws_sdk_dynamodbstreams::Clientwith the same settings asbuild_client(DynamoDB Local serves Streams on the same endpoint). - op_
for_ event - Map a Streams
eventNameto the envelopeop. - snapshot_
envelope - Snapshot-read envelope (
op: "r") for an item read by a resnapshot scan.