Je hebt een Azure Cosmos DB SQL API-container die is gepartitioneerd op /customerId. Wanneer een bestelling wordt geplaatst, moet je service atomisch het volgende doen: (1) het besteldocument aanmaken, (2) de openOrderCount van het klantprofiel bijwerken en (3) het winkelmanddocument van de klant verwijderen. Alle drie de documenten delen dezelfde customerId-waarde. Je wilt dat alle bewerkingen samen slagen of falen zonder gebruik te maken van server-side stored procedures. Wat moet je doen?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Gebruik de TransactionalBatch van de Azure Cosmos DB SDK om create-, replace- en delete-bewerkingen uit te voeren met dezelfde PartitionKey-waarde die gelijk is aan de customerId..
Waarom dit het antwoord is
De correcte optie is het gebruik van TransactionalBatch. Dit is de aanbevolen manier om atomische, transactionele bewerkingen uit te voeren op meerdere documenten binnen dezelfde logische partitie in Azure Cosmos DB SQL API. Omdat alle drie de documenten (bestelling, klantprofiel, winkelmand) dezelfde customerId delen, vallen ze binnen dezelfde logische partitie, wat TransactionalBatch mogelijk maakt. Cross-partition ACID-transacties bestaan niet als een configureerbare optie op accountniveau in Azure Cosmos DB. De Change Feed Processor is bedoeld voor het verwerken van wijzigingen nadat ze zijn vastgelegd, niet voor het garanderen van atomische transacties. Drie afzonderlijke verzoeken met ETag's bieden geen atomische garantie; als één mislukt, kunnen de andere al zijn doorgevoerd, wat leidt tot inconsistentie.
Slaag voor je examen — zonder eindeloos zoeken naar antwoorden
Krijg elke geverifieerde vraag en uitleg voor dit examen op één plek, en bespaar uren voorbereiding. Meer dan 1.000 certificeringen · Meer dan 20 talen · gratis om te beginnen.
Slaag sneller voor je examen → Geen kaart nodig