2016-05-14 4 views
0

私はAWSラムダ(python)とdynamodbを使ってdynamodbにアイテムを追加しています。AWSのDynamoDBアイテムの一意性は、空のフィールドにすることができます

マイアイテムが {ID、電子メール、モバイル}

ような構造を持っている私は、電子メールや携帯電話の番号が新しい項目で重複していないという事実に基づいてDBに項目を追加する必要があります。

商品にメールや携帯電話が付いていない場合があります。

これを行うには?私は今、DB

{1、電子メールの@ mail.com、123456789}

の項目を有する

例えば

Iは、

  • {2を追加することができ[email protected]}
  • {3,72562626262}
  • {4、JK @ yahoo.com、919191919191}

しかし{5、電子メール@ mail.com}

  • {6、メール@ mail.com、0909090990}
  • ない

    • {7,123456789}

    答えて

    0

    DynamoDBののみ(ないグローバルセカンダリインデックスキーの)ハッシュ範囲テーブルキー

    ための一意性を強制することができ

    あなたのケース(そして上記のシナリオ)では、電子メールとモバイルのグローバルなセカンダリハッシュキー(および更新前のアイテムのクエリ)を作成することによって、電子メールの重複を避けることができます。

    マルチスレッドを使用している場合は、クエリ/更新時にロックを使用します。

    関連する問題