Каждая dbClient.TransactWriteItemsAsync
- это собственная транзакция, состоящая из списка TransactWriteItem
с, инкапсулированного в TransactWriteItemsRequest
Так что result1
и result2
- две разные транзакции. Совместное использование ClientRequestToken
не идеально, так как используется идемпотентности. Поэтому, если result1
выполнено, result2
будет проигнорировано.
ClientRequestToken
может использоваться, например, для повторной попытки
var result1 = await dbClient.TransactWriteItemsAsync(new TransactWriteItemsRequest
{
TransactItems = list1,
ClientRequestToken = requestToken
});
. Если по какой-либо причине этот вызов не удался, можно повторить попытку, учитывая, что вы используете тот же токен.