Tiene un contenedor de Azure Cosmos DB SQL API particionado por /customerId. Cuando se realiza un pedido, su servicio debe realizar atómicamente: (1) crear el documento del pedido, (2) actualizar el openOrderCount del perfil del cliente y (3) eliminar el documento del carrito del cliente. Los tres documentos comparten el mismo valor de customerId. Desea que todas las operaciones se realicen correctamente o fallen juntas sin usar procedimientos almacenados del lado del servidor. ¿Qué debe hacer?
Elige una respuesta
Toca una opción para verificar tu respuesta.
Respuesta correcta: Utilice TransactionalBatch del SDK de Azure Cosmos DB para emitir operaciones de creación, reemplazo y eliminación con el mismo valor de PartitionKey igual a customerId..
Por qué esta es la respuesta
La opción correcta es usar TransactionalBatch del SDK de Azure Cosmos DB. Esta característica permite agrupar operaciones de lectura, creación, reemplazo y eliminación que comparten la misma clave de partición en una sola transacción atómica. Esto significa que todas las operaciones dentro del lote se ejecutarán con éxito o todas fallarán, garantizando la consistencia. Dado que los tres documentos (pedido, perfil del cliente y carrito) comparten el mismo customerId y, por lo tanto, la misma clave de partición, TransactionalBatch es la solución ideal y eficiente para lograr atomicidad sin procedimientos almacenados. Las otras opciones son incorrectas porque: Azure Cosmos DB no admite transacciones ACID entre particiones a nivel de cuenta. Las transacciones son a nivel de partición lógica. El Change Feed Processor proporciona consistencia eventual y no garantiza atomicidad para operaciones simultáneas. Realizar tres solicitudes separadas protegidas por ETags no garantiza atomicidad; si una falla, las otras podrían haber tenido éxito, dejando el sistema en un estado inconsistente.
Aprueba tu examen — sin la interminable búsqueda de respuestas
Obtén todas las preguntas y explicaciones verificadas para este examen en un solo lugar, y ahorra horas de preparación. Más de 1,000 certificaciones · Más de 20 idiomas · Empieza gratis.
Aprueba tu examen más rápido → No se requiere tarjeta