【发布时间】:2021-05-04 11:16:52
【问题描述】:
假设我有一个存储 100 万个令牌的 DynamoDB(令牌是一个简单的字符串)。
我们自己生成令牌(没有 AWS Cognito、没有 JWT、没有 AWS KMS 等)。
令牌是唯一的(没有重复)。
表格如下:
| Key ID | Token Value |
|---|---|
| 1 | !@#$%^ |
| 2 | ^&*()! |
| 3 | !#%&() |
我想编写一个 Lambda 函数来检查数据库中是否存在特定令牌。
如果在 DB 中退出,则返回 TRUE。
如果不存在,则返回 FALSE。
但是,token不是主键,
所以在这个表中搜索一个标记意味着
数据库将需要逐条检查每条记录,
查找令牌是否存在于数据库中,
这是非常资源和耗时的。
-
如果我将“token value”列变成全局二级索引,
DynamoDB 可以通过直接转到该 KEY 来检查令牌是否存在
而不是逐条搜索每条记录?
? -
哪个 DynamoDB 函数用于检查数据库中是否存在密钥?
是GetItem吗? -
重新编辑
为什么我需要从一开始就创建 GSI?
这样做意味着我需要准备一张额外的桌子...
我可以只使用主键作为 TOKEN VALUE 的原始表吗?
【问题讨论】:
标签: amazon-web-services amazon-dynamodb