This guide describes how to sink data from RisingWave to DynamoDB using the DynamoDB sink connector in RisingWave.
Field | Note |
---|---|
table | Required. Name of the DynamoDB table where you want to write the data. |
primary_key | Required. A pair of columns representing the partition key and sort key of DynamoDB, e.g., key1,key2, separated by comma. |
aws.region | Required. AWS region where your DynamoDB table is hosted. |
aws.endpoint_url | Optional. Custom endpoint URL for connecting to DynamoDB. Useful for testing with DynamoDB Local. |
aws.credentials.access_key_id | Conditional. AWS access key ID for accessing DynamoDB. Must be specified when using access key ID and secret key. |
aws.credentials.secret_access_key | Conditional. AWS secret access key for accessing DynamoDB. Must be specified when using access key ID and secret key. |
aws.credentials.role.arn | Conditional. ARN of the IAM role to assume for accessing DynamoDB. Must be specified when using AssumeRole. |
aws.credentials.role.external_id | Conditional. External ID for assuming the IAM role specified in aws.credentials.role.arn. |
aws.profile | Optional. The name of the AWS CLI profile to use for accessing DynamoDB. If specified, it overrides the default profile. |
dynamodb.max_batch_item_nums | Optional. The maximum number of items in the BatchWriteItem operation. It must be larger than 1, and less than or equal to 25. The default is 25. |
dynamodb.max_future_send_nums | Optional. The maximum number of concurrent write futures in DynamoDB. It must be less than 360, and the default is 256. This is derived from user-defined max_parallelism_units (40000 by default). If the write throughput of RisingWave exceeds the max_parallelism_units set in DynamoDB, an error would be reported. |
RisingWave Data Type | DynamoDB Data Type |
---|---|
boolean | Bool |
smallint | number (N) |
integer | number (N) |
bigint | number (N) |
numeric | number (N) |
real | number (N) |
double precision | number (N) |
serial | number (N) |
character varying (varchar) | string (S) |
bytea | binary |
date | string (S) |
time without time zone | string (S) |
timestamp without time zone | string (S) |
timestamp with time zone | string (S) |
interval | string (S) |
struct | map (M) |
array | list (L) |
JSONB | string (S) |
struct
datatype in RisingWave will map to map (M)
in DynamoDB in a recursive way. Refer to source code for details.