2017-01-16 4 views
2

Gibt es eine Möglichkeit, ACID-Transaktionen mit Boto3 (Python-Bibliothek) durchzuführen?Transaktionen mit der DynamoDB-Bibliothek Boto3

Ich möchte ein Element in mehrere Tabellen schreiben und sicherstellen, dass der Schreibvorgang auf alle Tabellen angewendet wurde, andernfalls Rollback. Ich habe die Boto3-Dokumentation gelesen und keine Hinweise auf Transaktions- oder ACID-Vorgänge erhalten.

ich in diese Bibliothek sah: http://dynamodb-mapper.readthedocs.io/en/latest/

Ich habe den Code ausgecheckt, so scheint es, die alte Boto Bibliothek zu verwenden, und es scheint nicht mehr unterstützt werden.

Ich weiß, dass eine AWS-Lösung für Transaktionen gibt es: https://aws.amazon.com/blogs/aws/dynamodb-transaction-library/

Diese mit Java-Code ausgeführt wird. Ich frage mich, ob wir in der Lage sind, Transaktionen mit DynamoDB mit Boto3 durchzuführen?

Dank

Antwort

4

Die boto3 Bibliothek bietet keine Unterstützung für Cross-Tabelle Transaktionen, wie sie von der Java-Client-Bibliothek verweisen Sie unterstützt. DynamoDB selbst unterstützt diese Funktionalität nicht nativ, daher müssen Transaktionen wie diese auf der Client-Ebene implementiert werden und Ihre Tabellen sind so ausgelegt, dass sie die von der Client-Software benötigten Felder unterstützen.

Es wäre sicherlich möglich, einen Python-Transaktionsclient ähnlich dem Java zu implementieren, aber soweit ich weiß, hat niemand.

+0

Ja, ich werde auf die JAVA-Bibliothek ausweichen, vielen Dank. – ElCapitaine