Может ли поток DynamoDB увидеть незафиксированную транзакцию? - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть таблица DynamoDB, в которой я использую транзакции записи (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transactions.html). Транзакция состоит из 2 операций размещения. Допустим, первый набор успешно выполнен, а второй - неудачен. В этом сценарии первый набор будет откатанбиблиотекой транзакций.

У меня также есть потоки DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html) для таблицы, и другое приложение использует этот поток.

Вопрос: В сценарии отката будет липервый успешный результат put в событии потока DynamoDB, а откат приведет к другому? Если да, есть ли способ предотвратить это, то есть гарантировать, что событие потока инициируется только для полностью завершенной транзакции?

1 Ответ

0 голосов
/ 14 декабря 2018

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transaction-apis.html

Изменения, сделанные с помощью транзакций, в конечном итоге распространяются на глобальные вторичные индексы (GSI), потоки DynamoDB и резервные копии после успешного завершения транзакции ..Из-за возможной согласованности таблицы, восстановленные из резервной копии по требованию или восстановлению на момент времени (PITR), могут содержать некоторые, но не все изменения, внесенные недавней транзакцией.

Так какЯ прочитал его, вы ничего не увидите в потоке до успешного завершения транзакции.

...