有时并非全部插入数据?

时间:2018-10-17 19:22:41

标签: aws-lambda amazon-dynamodb boto3

在我的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未命中,今天我发现了一条没有{{1} },而没有podcast_name。其他Lambda可以更新isContinuousPlaying(但不能删除),但是playbackRate甚至没有人阅读。

我不知道可以检查什么,我知道DynamoDB很流行,并且我认为健壮的黄金时段解决方案,但是我的代码看起来很简单,可以防止意外删除此类值。该项目在Lambdas上运行。

0 个答案:

没有答案