Digamos que estoy haciendo una actualización y una eliminación:
const transactionParams = { ReturnConsumedCapacity: "INDEXES", TransactItems: [ { Delete: { TableName: reactionTableName, Key: { "SOME_PK_", "SOME_SK_", }, ReturnValues: 'ALL_OLD', }, }, { Update: { TableName: reviewTableName, Key: { PK: "SOME_PK", SK: "SOME_SK" }, ReturnValues: 'ALL_OLD', }, }, ], }; try { const result = await docClient.transactWrite(transactionParams).promise(); } catch (error) { context.done(error, null); } aunque estoy usando ReturnValues como "ALL_OLD", parece que no puedo acceder a eso. ¿Es esto posible con transactWrite, o debo hacer un get after y comer una lectura?
¿Ha revisado ItemCollectionMetrics en la respuesta? Los documentos sugieren que es un mapa del nombre de la tabla -> elementos afectados por la consulta
await docClient.transactWrite(transactWriteItemsQueryParam, (err, data) => { if (err) { console.error('Transaction Failed. Error JSON:', JSON.stringify(err, null, 2)); reject(err); } else { console.log('Transaction succeeded:', JSON.stringify(data, null, 2)); //data[0].Items -is result of delete query //data[1].Items -is result of update query resolve(data); } });