par*_*ags 22 amazon-web-services amazon-dynamodb
是否可以从AWS DynamoDB控制台搜索嵌套属性?我能够搜索所有顶级属性,但搜索任何嵌套属性总是导致空结果集.
例如,对于下面提供的文档,我可以在任何顶级字段上扫描和添加过滤器,例如id,name等.
但是我无法扫描,并在设备上进行过滤.我正在尝试过滤器as device.name ='Xaomi'
{id:'jhfdgu75457y8r',名称:'Parag',设备:{name:'Xaomi',country:'China'}}
请注意,我是从AWS控制台执行此操作,而不是任何客户端库.AWS控制台是否允许对嵌套对象进行过滤?
现在可以在 PartiQL 编辑器的帮助下在 AWS 控制台中实现。打开 PartiQL 编辑器,然后您可以编写类似SQL的查询:
SELECT * FROM YourTableName WHERE device.name = 'Xaomi'
Run Code Online (Sandbox Code Playgroud)
它在幕后使用扫描,只是为了了解这一点。
有关 PartiQL 的更多信息: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html
DynamoDB 中的所有数据都存储为字符串、二进制或数字。
当您使用 SDK 访问 DynamoDB 时,它通常会将这些原始数据转换和取消转换为复杂的数据类型,例如列表和地图。
控制台仅适用于原始数据类型。在这种情况下,您的设备属性被视为字符串,因此您不能通过 device.name 嵌套属性进行过滤。
但是,您可以简单地执行字符串过滤器。例如过滤设备属性,使用 contains 运算符和值"name":"Xaomi"
目前在控制台上不可能。
我还在寻找一种解决方案,可以根据嵌套属性的值找到一个项目。
但目前只能通过 SDK 或 CLI 而不能通过控制台。
由 AWS 支持团队确认 - https://forums.aws.amazon.com/thread.jspa?messageID=931016
| 归档时间: |
|
| 查看次数: |
1917 次 |
| 最近记录: |