14

我正在尝试对 DynamoDB 表使用 Scan 操作来匹配具有给定“标签”的项目。项目的标签存储在单个集合属性中。例如:

machine-1: 标签 = "windows", "iis", "64bit"
machine-2: 标签 = "windows", "fs"

现在,我有一个支持高级支持的支持案例,但这需要一些时间。我想要做的是匹配“标签”包含条目“windows”“iis”的机器。

例如,我可以通过使用CONTAINS模式匹配单个属性值,并使用字符串值“windows”指定单个属性值。

但是,CONTAINS不支持单个 AttributeValue 或多个 AttributeValue 中的集合。它给出了一个错误。

所以我尝试IN了(AWS 高级支持也建议这样做):但是,无论我使用单个 AttributeValue(甚至只是再次寻找“窗口”还是多个),我都得到零结果。

的文档IN很差。该操作用 4 个无意义的词来描述,实际上是:“检查完全匹配”。

当我等待支持可能会继续进行几轮问答时,是否有人读过这篇文章,熟悉 Scan 的这种查询?(如果可以的话,请先测试你在回答中所说的话:我想我已经尝试了明显的那些!)

对于参考,扫描文档:http ://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_Scan.html

4

1 回答 1

11

这来自 AWS 高级支持:

“你好。

我从 Dynamo DB 得到确认,目前不支持。CONTAINS 针对集合只能使用单个值执行。"

呃。因此,现在我将为每个可能的标签创建一个新属性,在每列中使用“真”或“假”,然后过滤我的扫描。

于 2012-07-10T09:38:37.127 回答