pub struct DynamoDbSourceConfig {Show 29 fields
pub table_name: String,
pub region: Option<String>,
pub endpoint_url: Option<String>,
pub credentials: DynamoDbCredentials,
pub mode: ReadMode,
pub segments: u32,
pub max_concurrency: usize,
pub index_name: Option<String>,
pub projection: Option<String>,
pub filter_expression: Option<String>,
pub key_condition_expression: Option<String>,
pub expression_attribute_names: BTreeMap<String, String>,
pub expression_attribute_values: BTreeMap<String, Value>,
pub consistent_read: bool,
pub scan_index_forward: bool,
pub page_limit: Option<u32>,
pub stream_arn: Option<String>,
pub start_position: StreamStart,
pub on_gap: OnGap,
pub resnapshot_deletes: bool,
pub resnapshot_max_keys: usize,
pub poll_interval_ms: u64,
pub records_per_request: u32,
pub shard_concurrency: usize,
pub idle_termination_secs: Option<u64>,
pub max_messages: Option<usize>,
pub retry: RetryPolicy,
pub batch_size: usize,
pub value_format: ValueFormat,
}Expand description
Configuration for DynamoDbSource.
Fields§
§table_name: StringTable name.
region: Option<String>AWS region. None uses the SDK default chain (env, profile, IMDS).
endpoint_url: Option<String>Custom endpoint URL (DynamoDB Local, LocalStack, VPC endpoints).
credentials: DynamoDbCredentialsAWS credentials. Defaults to the SDK default provider chain.
mode: ReadModescan (default), query, or streams.
segments: u32Parallel scan segments (TotalSegments), 1–1000000. Scan only.
max_concurrency: usizeSegments read concurrently. Default 8.
index_name: Option<String>Secondary index to scan or query.
projection: Option<String>ProjectionExpression — the attributes to return.
filter_expression: Option<String>FilterExpression applied server-side after the read.
key_condition_expression: Option<String>KeyConditionExpression. Required for query, rejected otherwise.
expression_attribute_names: BTreeMap<String, String>ExpressionAttributeNames (#name → attribute).
expression_attribute_values: BTreeMap<String, Value>ExpressionAttributeValues (:value → plain JSON value).
consistent_read: boolStrongly consistent reads (table and local secondary indexes only).
scan_index_forward: boolQuery order: ascending sort key when true (default).
page_limit: Option<u32>Limit per Scan/Query request (items evaluated per call).
stream_arn: Option<String>Stream ARN. Defaults to the table’s LatestStreamArn. Streams only.
start_position: StreamStartStart for shards with no bookmark and no parent that was read.
on_gap: OnGapReaction to a bookmark older than the trim horizon.
resnapshot_deletes: boolon_gap: resnapshot: after the re-read, delete the destination rows of
items it did not see (default true; the sink must support cleanup).
false keeps the resnapshot for any sink but leaves the destination
rows of items deleted while their stream records were trimmed.
resnapshot_max_keys: usizeon_gap: resnapshot: the most distinct keys the re-read tracks for its
delete (default 1,000,000; memory grows with it). A table with more
items fails that run once with nothing deleted; its position is saved,
so the next run resumes streaming.
poll_interval_ms: u64Base wait between GetRecords calls per shard, in ms (floored at 200).
records_per_request: u32GetRecords Limit per request (1–1000). Default 1000.
shard_concurrency: usizeShards read concurrently. Default 4.
idle_termination_secs: Option<u64>Streams: stop after this many seconds without a new record. At least
one of idle_termination_secs / max_messages is required in streams
mode.
max_messages: Option<usize>Streams: stop after this many change records.
retry: RetryPolicyThrottle / transient-failure retry policy.
batch_size: usizeRecords per emitted page. 0 is the “no batching” sentinel. Default
1000.
value_format: ValueFormatHow attribute values appear in records: plain JSON (default; sets
become arrays, binaries base64 strings, imprecise numbers decimal
strings) or typed DynamoDB attribute JSON ({"S": "a"},
{"SS": ["x"]}, {"B": "<base64>"}) that a value_format: typed
DynamoDB sink writes back losslessly. Applies to scan/query items and
to Streams key / before / after images.
Implementations§
Source§impl DynamoDbSourceConfig
impl DynamoDbSourceConfig
Sourcepub fn new(table_name: impl Into<String>) -> Self
pub fn new(table_name: impl Into<String>) -> Self
Scan config with defaults for everything but the table name.
Sourcepub fn validate(&self) -> Result<(), FaucetError>
pub fn validate(&self) -> Result<(), FaucetError>
Fail-fast validation, called from DynamoDbSource::new.
Sourcepub fn poll_interval(&self) -> Duration
pub fn poll_interval(&self) -> Duration
Effective per-shard poll interval (floored at 200 ms).
Trait Implementations§
Source§impl Clone for DynamoDbSourceConfig
impl Clone for DynamoDbSourceConfig
Source§impl Debug for DynamoDbSourceConfig
impl Debug for DynamoDbSourceConfig
Source§impl<'de> Deserialize<'de> for DynamoDbSourceConfig
impl<'de> Deserialize<'de> for DynamoDbSourceConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for DynamoDbSourceConfig
impl JsonSchema for DynamoDbSourceConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Forget for DynamoDbSourceConfig
impl Freeze for DynamoDbSourceConfig
impl Move for DynamoDbSourceConfig
impl RefUnwindSafe for DynamoDbSourceConfig
impl Send for DynamoDbSourceConfig
impl Sync for DynamoDbSourceConfig
impl Unpin for DynamoDbSourceConfig
impl UnsafeUnpin for DynamoDbSourceConfig
impl UnwindSafe for DynamoDbSourceConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more