Иногда вставить не все данные? - PullRequest
0 голосов
/ 17 октября 2018

В моих 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.

...