2017-09-22 3 views
0

Si l'utilisateur entre un attribut qui n'existe pas dans Dynamodb, acceptez l'attribut et stockez-le dans Dynamodb. Actuellement, j'ai 'id' et 'firstName' comme les attributs et l'utilisateur peuvent créer en insérant leur firstName cependant, s'ils veulent ajouter un attribut 'lastName', dynamodb devrait accepter le 'lastName' et stocker dans le base de données.Ajout d'un attribut qui n'existe pas dans DynamoDb

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

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

Salut, votre poste ne comprend pas une question. Vous devez indiquer clairement ce que vous avez essayé, comment il a échoué et ce pour quoi vous avez besoin d'aide. – jarmod

Répondre

2

DynamoDB est une base de données NoSQL. C'est la fonctionnalité par défaut dans la plupart des bases de données NoSQL. Cela est également pris en charge dans DynamoDB. Comme le SGBDR, la base de données NoSQL n'a aucun schéma. Vous pouvez ajouter des attributs non-clés à tout moment.

En ce qui concerne DynamoDB, lors de la création de la table, il ne permet pas de définir des attributs non-clés. Le lastName est un attribut non-clé. Il peut être ajouté à l'élément (enregistrement) à tout moment après la création de l'élément (ou) lors de la création du nouvel élément. C'est l'un des principaux avantages de la base de données NoSQL ou DynamoDB.

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

Reference link