【问题标题】:Push data from external API on AWS Kinesis从 AWS Kinesis 上的外部 API 推送数据
【发布时间】:2021-06-09 21:29:48
【问题描述】:

我是 AWS 生态系统的新手。我正在构建一个(近乎)实时系统,其中数据来自外部 API。 API 每 10 秒更新一次,因此我想在新数据出现后立即使用并填充我的 Kinesis 管道。 但是,我不确定使用哪种工具。我做了一个小研究,我认为我有两个选择:

  • AWS lambda 每 10 秒触发一次,并将数据放在 Kinesis 上
  • AWS StepFunction

给定用例的标准方法是什么?

【问题讨论】:

    标签: amazon-web-services rest amazon-kinesis


    【解决方案1】:

    AWS Step 函数由 Lambda 函数创建。也就是说,工作流中的每个步骤实际上都是一个 Lambda 函数。您可以将 AWS Step Functions 创建的工作流程视为 Lambda 函数链。

    如果您不熟悉如何创建工作流程,请参阅此 AWS 教程:

    Create AWS serverless workflows by using the AWS SDK for Java

    (您可以使用任何受支持的编程语言创建 Lambda 函数。这个恰好使用 Java)。

    现在,为了回答您的问题,可以使用工作流填充 Kinesis 数据流。您可以构建一个收集数据的 Lambda 函数(使用 Lambda 函数中的逻辑),然后调用 Kinesis 的 putRecord 操作来填充数据流。您可以根据 CRON 表达式创建每 x 分钟触发一次的计划事件。

    如果您确实使用 CRON 表达式,则可以使用 AWS Step Functions API 来启动工作流程。也就是说,创建另一个 Lambda 函数,该函数计划每 10 分钟触发一次。然后在此 Lambda 函数中,使用 Step Functions API 调用工作流。现在工作流可以用数据填充 Kinesis 数据流。

    【讨论】:

      猜你喜欢
      • 2016-11-13
      • 2016-10-31
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-22
      • 2020-07-08
      相关资源
      最近更新 更多