2017-05-30 6 views
0

Je suis nouveau sur DDB, mais d'après ce que je comprends, la DynamoDBHashKey est la même que la clé de partition, et la DynamoDBRangeKey est la même que la clé de tri. Cependant, j'ai 3 valeurs dont j'ai besoin pour faire une clé unique. Ceci est pour une application mobile. Le cas d'utilisation enregistre des enregistrements. Voir ci-dessous:Comment concevoir une clé primaire pour DynamoDB avec 3 attributs

@DynamoDBTable(tableName = "foo") 
public class Foo { 
    private String userID; // Set on a per-device basis by AWS Cognito 
    private String name; // The user's name. There can be many users on a device 
    private long time;  // The time the record is created 

} 

donc mon original mais était de faire userId la partition/clé de hachage et le nom de la clé de tri/plage, mais chacune de ces combinaisons auront plusieurs enregistrements, donc l'ajout de l'attribut de temps. Y a-t-il une solution ici qui me manque?

Répondre

1

Ici, vous allez ..

Parttionkey userid nom temps rangekey

Point clé ici est que la clé de partition est une clé concaténée composée de deux identifiants