在名为File.AppendAllLines(filePath, new string[] {
"Exception Detail Start-------------------------------------------",
"Stack Trace :" + ex.StackTrace,
"Error :" + ex.Message,
"Exception Detail End-------------------------------------------"
});
的DynamoDB表中,我需要一个唯一的标识符,以便用户记住。
在RDBMS中,我可以使用自动增量ID来满足要求。
由于DynamoDB中没有自动增量ID的方法,有没有办法满足这一要求?
如果我将上次使用的ID保留在另一个表(users
中)在添加新文档之前进行检索,请增加该编号并在两个表(lastIdTable
和lastIdTable
)中保存更新的编号,效率会很低。
更新
请注意,无法使用现有属性或为此目的获取用户输入。
答案 0 :(得分:1)
由于似乎您必须创建一个令人难忘的userId,而无需提供有关该用户的任何信息,因此建议您从标准词典中创建一个由2-4个简单单词组成的随机词组。
例如,您可能生成短语correct horse battery staple。 (我知道这是一个userId而不是密码,但是记忆性方面的考虑仍然适用。)
无论您使用的是随机数(与顺序号具有相似的记忆力)还是随机的短语(我认为更容易记忆),您都需要进行条件写操作,条件是ID尚未存在,如果确实存在,则应生成一个新ID,然后重试。
答案 1 :(得分:0)
电子邮件地址似乎是最好的选择...
既可以用作分区键,也可以使用GUID作为分区键,并在电子邮件地址上具有全局二级索引。
或者像Matthew在评论中建议的那样,让用户选择用户名。
答案 2 :(得分:0)
Docker容器命名策略可能会让您有所了解。 https://github.com/moby/moby/blob/master/pkg/namesgenerator/names-generator.go 它将带来独特(有限)却又人性化的
示例
awesome_einstein
nasty_weinstein
perv_epstein