所以我想创建一个实时仪表板(可能是一个基于节点的应用程序,带有反应前端)。该仪表板将显示来自使用Googles Lighthouse Performance审计工具收集的数据的一系列网站的性能数据。
Lighthouse工具发布了一个JSON文件,其中包含一组用于性能分析的键和值。
我将使用类似d3或chart.js的内容来最终呈现此数据。
我的问题是如何将这种“实时”数据提供给网络前端。
到目前为止,这是我的想法(只需要知道它是否可行。)你能看到这个过程有效吗?这会给我一种“实时”数据源吗?我们的想法是在一天内多次创建绩效报告
答案 0 :(得分:1)
我不认为DynamoDB流将以您的思维方式运行,除非我完全误解了有关DynamoDB流的信息。 DynamoDB如何将流数据推送到Web浏览器?
我建议让Lambda函数为它插入DynamoDB的每条记录添加时间戳。将timestamp字段作为表的主索引的排序键。
接下来有另一个Lambda函数,它使用timestamp字段在DynamoDB表中查询最新记录。通过API网关公开Lambda函数。
最后让Web前端对您在API Gateway中创建的端点进行API调用,以检索最新的性能数据。
答案 1 :(得分:1)
“live”对于不同的人来说意味着不同的事情,并且对于不经常更改的数据(与交互式聊天相比,每天几次不频繁),管理套接字等的开销可能不值得,只需刷新页面。
我不明白为什么你需要迪纳摩这里;你可以直接从S3读取,也许可以在对象上使用版本控制来跟踪每次运行的不同统计数据。
如果您真的想要基于浏览器的通知,您可以查看AWS IoT,并让Lambda订阅运行结果的S3存储桶,提取值并将其发布到IoT,这可以公开Web套接字基于浏览器的应用程序。