2013-08-04 3 views
6

Ich kann nirgends Informationen darüber finden und dennoch ist die Frage einfach.Nehmen die speicherbezogenen Azure-APIs an System.Transactions teil?

Kann ich speicherbezogene Aktionen in einem TransactionScope so umbrechen, dass z. Wenn es einen Rollback gibt, wird die hochgeladene Datei ebenfalls zurückgesetzt?

Wenn die nativen APIs dies nicht bereits tun, gibt es irgendwo eine öffentliche Implementierung?

Antwort

5

Wenn Sie sich auf Table- oder Blob-Updates beziehen, gibt es keine expliziten Commits oder Rollbacks. Wenn Sie einen API-Aufruf ausführen (ob direkter REST-Aufruf oder über PowerShell/CLI/SDK), handelt es sich lediglich um eine Aktion gegen Speicher, die entweder erfolgreich ist oder fehlschlägt (obwohl einige Aktionen eine Weile dauern und der Aufruf möglicherweise vor dem Abschluss zurückkehrt). Es gibt keinen Transaktionsbereich, der diese Aktion umschließt. Sie müssen Ihre Table/Blob-Aktualisierungen auf App-Ebene rückgängig machen.

+0

Kann man wirklich eine Datenbank nennen, wenn sie nicht transaktionsfähig ist? – quillbreaker

+1

Nicht sicher, was Sie bekommen. Table Storage verfügt über API-Transaktionen und ermöglicht sogar das Schreiben mehrerer Entitäten innerhalb eines einzigen API-Aufrufs (Transaktion). Der Blob-Speicher ist von der Tabelle getrennt, und es gibt kein Transaktions-Scope-Objekt, in dem Sie Operationen zwischen den beiden durchführen können. Es gibt auch keine Möglichkeit, mehrere Tabellenspeichertransaktionen innerhalb eines Transaktionsbereichs auszuführen. Allerdings: Dies reduziert den Tabellenspeicher in keiner Weise zu einer Datenbank. Werfen Sie einen Blick auf MongoDB: Atomare Operationen in einem Dokument, keine Transaktionen in Dokumenten, aber ... es wird immer noch als Datenbank betrachtet. –

Verwandte Themen