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, что ожидается в нашем случае и работает нормально, теперь мне нужно установить время задержки и флаг для всех идентификаторов, перечисленных в список идентификаторов.

я не уверен, в чем тут проблема? Оцените, может ли кто-нибудь помочь в этом?

Спасибо

0 ответов

Другие вопросы по тегам