DynamoDB Scan with filter,匹配'is-in-set'条件

Kie*_*one 13 .net amazon-web-services amazon-dynamodb database-scan

我正在尝试在DynamoDB表上使用扫描操作来匹配具有给定"标记"的项目.项目的标签存储在单个集合属性中.例如:

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

现在,我有一个高级支持开放的支持案例,但它需要花费一些时间.我想要做的是匹配机器,其中'tags'包含条目"windows" "iis".

我可以使用CONTAINS模式匹配单个,并指定单个AttributeValue,例如字符串值为"windows".

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

所以我尝试过IN(AWS高级支持也建议):但是,无论我使用单个AttributeValue(甚至只是再次查找"windows"或多个),我得到零结果.

文档IN很差.该操作用4个无信息的词来描述,实际上是:" 检查完全匹配 ".

虽然我等待支持可能会继续进行几轮问答,但是有人在阅读这个熟悉这种查询的扫描吗?(如果可以的话,请先在你的答案中测试你所说的内容:我想我已尝试过明显的答案了!)

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

Kie*_*one 10

这来自AWS高级支持:

"你好.

我收到Dynamo DB的确认,目前不支持.对集合的CONTAINS只能使用单个值执行."

Urgh.所以现在我将为每个可能的标签创建一个新属性,每列中都有一个'True'或'False',并在那里过滤我的Scan.