【发布时间】:2018-11-06 22:19:01
【问题描述】:
我有一个表,允许用户(通过 Cognito 进行身份验证)仅读取和写入他们自己的记录,由 IAM 策略启用,如下所示:
"Condition": {
"ForAllValues:StringEquals": {
"dynamodb:LeadingKeys": [
"${cognito-identity.amazonaws.com:sub}"
]
}
}
我正在设计我的数据结构,并且需要了解 DynamoDB 如何在 Scan 操作的上下文中应用此范围。
在进行 Scan 时,DynamoDB 是先将用户范围应用于表(因此扫描的唯一文档将是用户的文档)还是 Scan 会使用整个表,然后将策略应用于记录范围?
这个问题的含义是扫描的效率如何 - 如果要扫描整个表,那么操作将非常昂贵,但如果只扫描用户自己的记录(表的一小部分),那么扫描的效率可能可以接受。
【问题讨论】:
标签: amazon-web-services amazon-dynamodb amazon-cognito amazon-iam