amazon-web-services - 每 3 小时到每分钟在 AWS 上报告一次
问题描述
我需要一点帮助,指向正确的方向。
我的任务是将客户订单数据(用于销售服装)从本地传输到云中以用于报告目的(只读)。我们与 AWS 合作。数据源是 Oracle DB 和 mysql。我打算使用胶水作业,抓取数据源,然后通过步进函数/lambdas 将数据移动到 Dynamo db(NoSQl,快速)中,其中数据将被链接起来(假设每个都有一个 ID 字段链接数据)。以前报告此数据的时间大约为 2-3 小时。我打算每 2-3 小时设置一次胶水作业的时间表。现在这已经改变了。我现在想让数据尽可能接近实时(同事们开始要求它)。一两分钟(或更好)的数据就足够了。
我正在考虑做的事情是否是我想要实现的正确方法(仅增加抓取源数据的频率)?还是我应该看看别的?
注意:我还没有制作系统(我只玩过 Dynamo、胶水作业和步进功能)。
所以,在 AWS 中是否有更好的方法,我想听听我的选择是什么(优点/缺点等)。
提前致谢
解决方案
可以编写 Lambda 函数来获取数据源并更新 DynamoDB 表。您可以使用 AWS 开发工具包编写 Lambda 函数来执行 AWS 服务操作;例如,更新 DynamoDB 表。如果您编写了多个 Lambda 函数,那么您是正确的 - 您可以通过 AWS Step Functions 一起使用它们来创建工作流程。
这里的好处是,如果您确实创建了一个需要按计划运行的 AWS Step Functions 工作流,您可以创建另一个使用 AWS Step Functions API 的 Lambda 函数,通过使用startExecution操作来动态执行工作流。
总的来说,你的想法是正确的。我会推荐在 AWS Step Functions 工作流程中使用的 Lambda 函数,这些函数可以由另一个根据 CRON 触发的 Lambda 函数经常调用,它会调用startExecution操作。
推荐阅读
- python - 通过 id 从 cosmosdb 中“获取”文档(不知道 _rid)
- postgresql - 时间戳比较查询实际上并没有过滤结果
- reactjs - vscode - 基于 react 和 react native 加载代码片段
- java - 如何在 java 中创建 gnome gtk 通知?
- microsoft-graph-api - 查询特定用户电子邮件
- php - wordpress 短代码正在选择完整的 XML 而不是单行
- javascript - 用递归爬升的javascript步骤
- python - 从 pygame 中的 2d 列表中渲染背景框类的问题
- python-3.x - cython id() 函数导致整数溢出
- python - 逐行读取文本文件并计算一行中特定值的特定单词并保存上面的行