python-3.x - 数百个并行 dynamodb 查询
问题描述
我试图找到为一个请求执行数百个并行 dynamodb 查询的最佳实践。我目前正在使用 python,但我对任何最适合此用例的语言和框架持开放态度。这基本上是我想要做的,我在这里将它缩短到只有 4 个值,但最后我希望它一次查询 500。
import boto3
import time
from boto3.dynamodb.conditions import Key
variables = {'random1':None,'random2':None,'random3':None,'random500':None}
table = boto3.resource('dynamodb','eu-west-1').Table('sometable')
for v in variables:
variables[v]=table.query(KeyConditionExpression=Key('k').eq(v),Select='COUNT')['Count']
print(variables)
# expected output: {'random1': 12, 'random2': 30, 'random3': 230, 'random500': 5}
所以我正在做选择计数查询来获取表中每个键的不同计数。这个“函数”的输出是我需要在服务中返回的。对于这些查询中的每一个,响应时间都很长,比如 40 毫秒。但显然,按顺序运行会线性扩展,这不起作用,因为我希望所有这 500 个变量的时间都小于 150 毫秒(最大值)。
有没有人做过类似的事情?任何建议将不胜感激!
解决方案
推荐阅读
- java - 执行 maven 安装时的编译错误/问题
- javascript - 我可以打开一个未选择默认选项卡的新窗口(网页)吗
- elixir - 在 phoenix 中测试 web 组件时如何加载 repo?
- angular - LoadChildren 导航到特定路线 Angular 6
- python - Django 意外的 405 响应
- codeigniter - 如何获取数据库codeigniter一列中的所有数据?
- c# - 子域作为查询字符串
- c# - 使用 MS Bot SDK 4 构建的 Bot 在闲置一小时或更长时间后仍可用于 Facebook 频道
- javascript - HTML 包含带有 jsx、es2017 标签和其他标签的脚本
- react-native - React Native 样式不适用于父视图?