Вот мой вариант использования, мне нужно добавить и обновить записи в таблице DynamoDB, например:
Если ключ раздела не существует, добавьте его и добавьте новый список из одного элемента, содержащий строковое значение.
Если ключ раздела существует, добавьте новую строку в его атрибут списка.
У меня есть код, который Python / boto3 выглядит так:
response = ddb_client.update_item(
TableName=target_ddb_table,
Key={'email-hash': {'S' : encrypted_hashed_pw},},
ExpressionAttributeValues={ ":my_value":[{"S":"test"}], ":empty_list":[] },
UpdateExpression='SET site_ids = list_append(if_not_exists(site_ids, :empty_list), :my_value)',
ReturnValues='ALL_NEW'
)
Я получаю эти ошибки, я понимаю, что я делаю что-то глупое здесь: re
Invalid type for parameter ExpressionAttributeValues.:empty_list, value: [], type: <class 'list'>, valid types: <class 'dict'>
Invalid type for parameter ExpressionAttributeValues.:my_value, value: [{'S': 'test'}], type: <class 'list'>, valid types: <class 'dict'>