2017-09-22 6 views
0

ユーザーがDynamodbに存在しない属性を入力した場合は、その属性を受け入れてDynamodbに格納します。DynamoDbに存在しない属性の追加

現在、私は属性として 'id'と 'firstName'を持っていますが、ユーザーはfirstNameを挿入することで作成できますが、 'lastName'属性を追加する場合はdynamoが 'lastName'データベース。

def create(event): 
    body = dict(event['body']) 
    id = body['id'] 
    firstName = body['firstName'] 

    response = table.put_item(
     Item={ 
      'id': str(id), 
      'firstName': firstName, 
     }, 
    ) 
+0

こんにちは、あなたの投稿は質問が含まれていません。試したこと、失敗したこと、助けが必要なことを明確に述べるべきです。 – jarmod

答えて

2

DynamoDBはNoSQLデータベースです。これは、ほとんどのNoSQLデータベースのデフォルト機能です。これはDynamoDBでもサポートされています。 RDBMSと同様、NoSQLデータベースにはスキーマはありません。いつでも非キー属性を追加できます。

DynamoDBに関しては、テーブルの作成時にキー以外の属性を定義することはできません。 lastNameはキー以外の属性です。新しいアイテムを作成するときにアイテム(または)を作成した後、いつでもアイテム(レコード)に追加できます。これは、NoSQLまたはDynamoDBデータベースの主な利点の1つです。

UpdateExpression = 'SET lastName = :lastNameVal', 
ExpressionAttributeValues={':lastNameVal' : 'John'} 

Reference link

関連する問題