Aws- Dynamodb, получение ClientError при обновлении элементов в Dynamodb
Мне нужно обновить несколько элементов в Dynamodb в зависимости от количества ключей, доступных в списке. Я пытаюсь обновить, используя нижеприведенный подход. Я использую boto3 и создал экземпляр Dynamodb, который работает, как ожидалось, для других действий.
id_list=['id1','id2','id3']
ddb_table = mydb
dttm=mytimestamp
flg="Y"
pk='123'
response=''
if id_list is not None:
for id in id_list:
response=ddb_table.update_item(
Key={
'pk':pk,
'id':id
},
UpdateExpression="SET var1InTable= :dttm, var2InTable= :flg",
ExpressionAttributeValues={
':dttm': dttm,
':flg': flg
},
)
print("response",response)
return response
Но я получаю ошибку ниже:
ClientError: An error occurred (ValidationException) when calling the UpdateItem operation: The provided key element does not match the schema
# Ожидается: для одного и того же pk будет создан номер идентификатора, и он будет обновлен как отдельная запись в DynamoDB, что ожидается в нашем случае и работает нормально, теперь мне нужно установить время задержки и флаг для всех идентификаторов, перечисленных в список идентификаторов.
я не уверен, в чем тут проблема? Оцените, может ли кто-нибудь помочь в этом?
Спасибо