簡體   English   中英

DynamoDB 在使用 TransactWrtieItems 時返回修改后的文檔(舊的或新的)

[英]DynamoDB return the modified document (Old or new) when using TransactWrtieItems

有沒有辦法讓transactWriteItem返回它更新的文檔?

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);
  }

例如在上面的代碼中獲取被觸摸的文檔(更新之前或之后)?

不, TransactWriteItems API 不提供返回已修改項的值的能力,但是,您可以使用 DynamoDB Streams 獲取這些值,否則您需要默認使用 singleton APIs UpdateItem/DeleteItem,它們不符合 ACID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM