我需要一点帮助,指向正确的方向。
我的任务是将客户订单数据(销售服装)从onprem传输到云中,以便进行报告(只读)。我们和AWS一起工作。数据源是Oracle DB & mysql。我打算使用胶水作业,抓取数据源,然后通过step函数/lambdas将数据移动到所说的Dynamo (NoSQl,fast)中,其中数据将被链接起来(假设每个数据中都有一个ID字段来链接数据)。以前报告这些数据的时间大约是2-3个小时。我打算每2-3个小时安排一次胶水作业。现在这种情况已经改变了。我现在想让数据尽可能接近实时(同事们已经开始要求了)。一分钟或两分钟(或更好)的数据就足够了。
对于我想要达到的目标(只增加爬行源数据的频率),我想以上所做的是正确的方法吗?还是我该看看别的东西?
注意:我还没有制作系统(我只玩过Dynamo、胶水作业和step函数)。
所以,在AWS中是否有更好的方法,我想知道我的选择是什么(优缺点等等)。
提前感谢
发布于 2021-02-11 12:53:13
可以编写Lambda函数来获取数据源并更新DynamoDB表。您可以使用AWS编写Lambda函数来执行AWS操作;例如,更新DynamoDB表。如果您编写了多个Lambda函数,那么您就正确了--您可以通过AWS Step函数一起使用它们来创建工作流。
这里的好处是,如果确实创建了按计划运行的AWS Step函数工作流,则可以创建另一个Lambda函数,该函数使用AWS Step函数API来使用startExecution操作动态执行工作流。
总的来说,你的想法是正确的。我推荐在AWS步骤函数工作流中使用的Lambda函数,该工作流可以被另一个Lambda函数经常调用,该函数根据CRON触发并调用startExecution操作。
https://stackoverflow.com/questions/66153992
复制相似问题