You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DynamoDB多设备ID数据检索的方案咨询与优化实践

DynamoDB多设备ID查询问题与解决方案

使用场景

用户提供多个设备ID,需返回与这些ID完全匹配的设备数据。

原有实现方式

API发起多次DynamoDB请求,每次通过作为分区键的device_id获取单个设备数据,再合并返回给UI。

对比SQL中可实现的单条IN查询:

select * from device where device_id in ('123','234', '345')

疑问

  1. DynamoDB通过分区键检索是否足够快速/低成本?上述多次访问的方式是否合理?
  2. 是否有其他方案可通过单查询获取多个ID对应的条目?

最终解决方案

虽有使用Execute语句的建议,但希望沿用现有DDB资源查询模式。最终更新了数据模型:新增与排序键device_id值重复的search_id属性,借此使用IN运算符过滤数据(当前DynamoDB UI的过滤选项中未显示该运算符,故最初未想到)。最终查询语句如下:

aws_query = {
            'Limit': self.take,
            'Select': 'ALL_ATTRIBUTES',
            'ScanIndexForward': False,  
            'TableName': 'Devices',
            'KeyConditionExpression': Key('type').eq('device'),
            'FilterExpression': Attr('search_id').is_in(device_ids)
        }

内容的提问来源于stack exchange,提问作者kaplievabell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 08:45:08