Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transaction Library for DynamoDB #25

Closed
Caldas opened this issue Jul 13, 2013 · 40 comments
Closed

Transaction Library for DynamoDB #25

Caldas opened this issue Jul 13, 2013 · 40 comments
Labels
feature-request A feature should be added or improved. response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 7 days.

Comments

@Caldas
Copy link

Caldas commented Jul 13, 2013

It´s already developed in java (http://aws.typepad.com/aws/2013/07/dynamodb-transaction-library.html).

Any plans for port this ?

@ThomasWeiss
Copy link

I second that request, having this feature integrated in the .NET SDK would be incredibly helpful.

@fulghum
Copy link

fulghum commented Dec 15, 2014

Thanks for the feedback. We prioritize features based on what we hear from customers, so this helps drive that.

@andy250
Copy link

andy250 commented Dec 17, 2014

Upvoting this one. I would definitely use this feature.

@abhayachauhan
Copy link

Yes absolutely would love a .NET port for this library.

@NickMaria
Copy link

This is needed if DynamoDB product to be a viable enterprise storage option.

@aschaefer-honeycombcorp

+1 for this feature. Would be very helpful!

@ghost
Copy link

ghost commented Mar 27, 2015

Definitely +1 for this.

@jimfl
Copy link
Contributor

jimfl commented Oct 23, 2015

@jimfl jimfl closed this as completed Oct 23, 2015
@zmarrapese
Copy link

+1. This is really needed.

@maws
Copy link

maws commented Mar 5, 2017

+1. I would say that this is pretty much a necessity.

@jnb-source
Copy link

  • 1, really important

@robertmiles3
Copy link

Just starting to look at Dynamo and realized this bummer. We have a need to insert to DDB, then insert to SQS, but rollback DDB if the SQS insert doesn't succeed.

Any idea if this will gain any traction?

@Mapiarz
Copy link

Mapiarz commented May 31, 2017

+1, lack of transaction support is a big hurdle in the project I'm working on.

@sivaHyd
Copy link

sivaHyd commented Jun 16, 2017

+1, transaction support in c# is really needed.

@AdamFrieden
Copy link

+1 any progress on this?

@tushar-kesare
Copy link

+1, need transaction support for dynamodb in c#.

@ritwikroy7
Copy link

+1. Lack of Transaction support in the .NET SDK is a hurdle for us to pick it up for an enterprise project. I'm currently facing issues in a personal project where I'm manually having to delete records from a table based on whether a subsequent write to another table was successful or not.

@alehro
Copy link

alehro commented Nov 10, 2017

+1

6 similar comments
@dscottie
Copy link

dscottie commented Feb 2, 2018

+1

@jonathann92
Copy link

+1

@tonycostantino
Copy link

+1

@njohnsonFOD
Copy link

+1

@connelhooley
Copy link

+1

@justkevsthlm
Copy link

+1

@ramuit44
Copy link

Very much needed.

@kyngvesson
Copy link

+1

3 similar comments
@woodyp
Copy link

woodyp commented Apr 17, 2018

+1

@sergeyyurkov
Copy link

+1

@ferflores
Copy link

+1

@jesus9ias
Copy link

+1

2 similar comments
@cecitorres
Copy link

+1

@ozkar99
Copy link

ozkar99 commented Jul 10, 2018

+1

@maynardflies
Copy link

+1, hard to believe this has been in the request pipeline for 5 years and nobody has touched it. This is a massive roadblock to .NET based enterprises using this in anything critical

@torj
Copy link

torj commented Sep 11, 2018

+1

2 similar comments
@lukebondespok
Copy link

+1

@AbrahamAlcaina
Copy link

+1

@normj
Copy link
Member

normj commented Dec 5, 2018

DynamoDB announced last week for service side transaction support. https://aws.amazon.com/blogs/aws/new-amazon-dynamodb-transactions/

Curious how well this meets the needs of the developers asking for a port of the Java transaction library.

@klaytaybai klaytaybai added the response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 7 days. label Dec 6, 2018
@kngmat004
Copy link

kngmat004 commented Jul 19, 2019

are we able to manipulate transaction boundaries in anyway? Or are the boundaries limited to the call itself?

if we can't explicitly roll back or commit then its pretty much pointless. We need to include potential roll back conditions that come from the using application logic as well

@hanslai
Copy link

hanslai commented Nov 30, 2019

Is this Transaction Library done for .net core? I could not find code samples anywhere.

@dn32
Copy link

dn32 commented Mar 14, 2021

        public async Task VotarAsync(Usuario usuario, Voto voto, EnqueteQueUsuarioVotou enqueteQueUsuarioVotou)
        {
            enqueteQueUsuarioVotou.Id = enqueteQueUsuarioVotou.EnqueteId + "-" + enqueteQueUsuarioVotou.UsuarioHash;
            var enqueteQueUsuarioVotouA = DynamoDbContext.ToDocument(enqueteQueUsuarioVotou).ToAttributeMap();
            var usuarioMap = DynamoDbContext.ToDocument(usuario).ToAttributeMap();
            var votoMap = DynamoDbContext.ToDocument(voto).ToAttributeMap();

            var items = new TransactWriteItemsRequest
            {
                TransactItems = new List<TransactWriteItem>
                {
                    new TransactWriteItem
                    {
                        Put = new Put
                        {
                            TableName = "EL_EnqueteQueUsuarioVotou",
                            ConditionExpression = "attribute_not_exists(Id)",
                            Item = enqueteQueUsuarioVotouA,
                        },
                    },
                    new TransactWriteItem
                    {
                        Put = new Put
                        {
                            TableName = "EL_Usuario",
                            Item = usuarioMap
                        }
                    },
                     new TransactWriteItem
                    {
                        Put = new Put
                        {
                            TableName = "EL_Voto",
                            Item = votoMap
                        }
                    },
                }
            };

            await DynamoDBClient.TransactWriteItemsAsync(items);
        }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A feature should be added or improved. response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 7 days.
Projects
None yet
Development

No branches or pull requests