PythonのDict型をDynamoDB形式のJsonに変換する
pythonでDynamoDB関連操作をするとき、難しい点の一つは一つは以下のようなDynamoDBの独特なJSON形式だと思います。
Python用のAWS SDKであるBoto3にはDynamoDB形式のJsonをPythonのDictに変換できるTypeSerializerとTypeDeserializerがあります。
https://boto3.amazonaws.com/v1/documentation/api/latest/_modules/boto3/dynamodb/types.html
{
"id": {
"N": 12345
},
"name": {
"S": "TanakaTaro"
}
}
Python用のAWS SDKであるBoto3にはDynamoDB形式のJsonをPythonのDictに変換できるTypeSerializerとTypeDeserializerがあります。
https://boto3.amazonaws.com/v1/documentation/api/latest/_modules/boto3/dynamodb/types.html
TypeSerializer
PythonのDictをDynamoDB形式のJsonに変換します。個人的には変換結果で最初の{"M": ...}はなくしてほしいですが…TypeDeserializer
DynamoDB形式のJsonをPythonのDictに変換します。こちらも一気に変換はできず、各Keyごとに変換が必要です。まとめ&蛇足
- TypeSerializerとTypeDeserializerはDynamoDBのデータをpythonで処理したいときや処理後にまたDynamoDBにアップロードしたいときに有効に利用できそうです。
- ただ、そのまま利用するよりは、利用しやすくカスタム関数やクラスを作成したほうがよさそうです。
- JavaScriptのSDKにもConverterというものがあるようです