В моих auth_cognito.py
среди других строк кода у меня есть:
item_to_insert_new_user = {
'email': id_token_gwt['email'],
'chars_left': free_chars_each_month,
'inbound_email': secrets.token_urlsafe(), # len 32 chars
'podcast_name': secrets.token_urlsafe(99).replace('_', ''),
'playbackRate': 1,
'isContinuousPlaying': True
}
table_users.put_item(
Item=item_to_insert_new_user,
ConditionExpression='attribute_not_exists(email)'
)
В моей таблице Users
у меня есть первичный ключ email
.Согласно многочисленным ошибкам, которые я получил за последние несколько месяцев, я вижу, что иногда выглядит после этого кода запись в DynamoDB отсутствует playbackRate
, и сегодня я нашел одну запись без podcast_name
и без isContinuousPlaying
.Другие лямбды могут обновлять playbackRate
(но не удалять), но podcast_name
никто даже не читает.
Я понятия не имею, что я могу проверить, я понимаю, что DynamoDB популярен, и я думаю, что надежное решение в прайм-тайм,но мой код выглядит простым от случайного удаления таких значений.Эти проекты выполняются на Lambdas.