PynamoDBを利用することでDynamoDB操作を簡潔にしコード量をかなり減らすことができます。
またトランザクション処理も実装することができますが、以下エラーが発生しました。
e.cause_response_code = ResourceNotFoundException
原因・解決方法 見出しへのリンク
リソースが見つからない原因は、PynamoDBトランザクション時のデフォルトリージョンがuse-east-1に向いていることでした。
これはDB Modelで別リージョンを指定してても、トランザクション処理前に再度指定する必要があります。
以下にap-northeast-1の場合の例を記載します。
connection = Connection(region='ap-northeast-1')
client_request_token = str(uuid4())
with TransactWrite(connection=connection, client_request_token=client_request_token) as transaction:
transaction.save(data)
ClientRequestToken 属性は推奨されているので設定しています。