aws Lambdaで従来は以下のように1件ずつdynamodbに
get処理をしていた処理をbatch_get処理に変更したいです。
[従来]Function化されており、毎回mid(Id + name )が渡され結果が呼び出し元に帰る
python
1table= dynamodb.Table('table123') 2 3response = table.get_item( 4 Key={ 5 'LongId': mId, 6 'Level': 'Attribute' 7 } 8)
[今回]
python
1table_name = "table123" 2table = dynamodb.Table(table_name) 3 4batch_keys = { 5 table.name: { 6 'Keys': [ 7{ 8 #myListは、['tanaka','yokosawa','imai'] 9 #Idは、123456 10 'LongId': Id + name for name in result['myList'] 11}, 12{ 13 'Level': 'Attribute' 14} 15 16 ] 17 } 18} 19 20 21result = dynamodb.batch_get_item(RequestItems=batch_keys)
ClientErrorが発生し、従来と比べて正しくキーが設定できません。
どのように設定すれば良いのでしょうか
おそらくbatch_keys が以下のように設定できていないのではないでしょうか
json
1 table_name: { 2 'Keys': [ 3 {'LongId': tanaka, 'Level': 'Attribute'}, 4 {'LongId': yokosawa, 'Level': 'Attribute'}, 5 {'LongId': imai, 'Level': 'Attribute'} 6 ] 7 } 8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/09 03:53