Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
February 12, 2024 02:34 am GMT

[20 Days of DynamoDB] Day 19 - PartiQL Batch Operations

Posted: 12/Feb/2024

You can use batched operations with PartiQL as well, thanks to BatchExecuteStatement. It allows you to batch reads as well as write requests.

Here is an example (note that you cannot mix both reads and writes in a single batch):

    //read statements    client.BatchExecuteStatement(context.Background(), &dynamodb.BatchExecuteStatementInput{        Statements: []types.BatchStatementRequest{            {                Statement: aws.String("SELECT * FROM url_metadata where shortcode=?"),                Parameters: []types.AttributeValue{                    &types.AttributeValueMemberS{Value: "abcd1234"},                },            },            {                Statement: aws.String("SELECT * FROM url_metadata where shortcode=?"),                Parameters: []types.AttributeValue{                    &types.AttributeValueMemberS{Value: "qwer4321"},                },            },        },    })    //separate batch for write statements    client.BatchExecuteStatement(context.Background(), &dynamodb.BatchExecuteStatementInput{        Statements: []types.BatchStatementRequest{            {                Statement: aws.String("INSERT INTO url_metadata value {'longurl':?,'shortcode':?, 'active': true}"),                Parameters: []types.AttributeValue{                    &types.AttributeValueMemberS{Value: "https://github.com/abhirockzz"},                    &types.AttributeValueMemberS{Value: uuid.New().String()[:8]},                },            },            {                Statement: aws.String("UPDATE url_metadata SET active=? where shortcode=?"),                Parameters: []types.AttributeValue{                    &types.AttributeValueMemberBOOL{Value: false},                    &types.AttributeValueMemberS{Value: "abcd1234"},                },            },            {                Statement: aws.String("DELETE FROM url_metadata where shortcode=?"),                Parameters: []types.AttributeValue{                    &types.AttributeValueMemberS{Value: "qwer4321"},                },            },        },    })

Just like BatchWriteItem, BatchExecuteStatement is limited to 25 statements (operations) per batch.

Recommended reading:


Original Link: https://dev.to/aws/20-days-of-dynamodb-day-19-partiql-batch-operations-mg6

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To