Quantcast
Channel: DEV Community: Abhishek Gupta
Viewing all articles
Browse latest Browse all 205

[20 Days of DynamoDB] Day 17 - BatchGetItem operation

$
0
0

Posted: 5/Feb/2024

You can club multiple (up to 100) GetItem requests in a single BatchGetItem operation - this can be done across multiple tables.

Here is an example that fetches includes fourGetItem calls across two different tables:

resp,err:=client.BatchGetItem(context.Background(),&dynamodb.BatchGetItemInput{RequestItems:map[string]types.KeysAndAttributes{"customer":types.KeysAndAttributes{Keys:[]map[string]types.AttributeValue{{"email":&types.AttributeValueMemberS{Value:"c1@foo.com"},},{"email":&types.AttributeValueMemberS{Value:"c2@foo.com"},},},},"Thread":types.KeysAndAttributes{Keys:[]map[string]types.AttributeValue{{"ForumName":&types.AttributeValueMemberS{Value:"Amazon DynamoDB"},"Subject":&types.AttributeValueMemberS{Value:"DynamoDB Thread 1"},},{"ForumName":&types.AttributeValueMemberS{Value:"Amazon S3"},"Subject":&types.AttributeValueMemberS{Value:"S3 Thread 1"},},},ProjectionExpression:aws.String("Message"),},},ReturnConsumedCapacity:types.ReturnConsumedCapacityTotal,})

Just like an individual GetItem call, you can include Projection Expressions and return RCUs. Note that BatchGetItem can only retrieve up to 16 MB of data.

Recommended reading:BatchGetItem API doc


Viewing all articles
Browse latest Browse all 205

Trending Articles