mock_dynamodb2使えない
Pythonの単体テストにおいて、dynamodbをモックする場合、motoを使用している記事がたくさん見つかります。
これらの記事を見てみると
mock_dynamodbは古いのでmock_dynamodb2を使いましょうと書かれていますが、
2023年2月現在、最新バージョンのmoto4.11ではmock_dynamodb2は使用できず
from moto import mock_dynamodb2
としてもImportErrorになります。
現在のmotoのソース↓を見てみるとmoto/__init_.pyにmock_dynamodb2はありません。
https://github.com/getmoto/moto/blob/master/moto/__init__.py#L60
では、いつ頃変更されたのかというと、2022年8月16日にマージされたプルリクエストでmock_dynamo2が削除されていることがわかり、バージョン4.00から反映されているようです。
https://github.com/getmoto/moto/pull/5383/files#diff-d19bb31311354ef2f3edec922b8ad8820cc476ba365d5c40bbf3927bd3bf410cL80
まとめ
ということで、motoを使ってdynamodbを使用する際はバージョンが4.00以降か、参照している記事が2022/08より新しいかの2点に気をつける必要がありそうです。