Amazon web services 在哪里运行我的动画制作人?

Amazon web services 在哪里运行我的动画制作人?,amazon-web-services,amazon-ec2,aws-lambda,amazon-kinesis,Amazon Web Services,Amazon Ec2,Aws Lambda,Amazon Kinesis,我需要建立一个动觉制作人应用程序,只需将数据放入动觉流。应用程序需要连接到远程主机并维护一个TCP套接字,数据将从远程主机推送到该套接字。数据转换非常少,因此producer应用程序将非常简单。。。我知道我可以为此设置一个EC2实例,但如果有更好的方法,我想探索一下 示例: 您可以在AWS Lambda上构建一个生产者,但由于我必须维护一个长期运行的TCP连接,这是行不通的 您可以使用AWS IoT维护到WebSocket的连接,并在每条消息上调用Lambda函数,但我的连接只是一个标准TCP

我需要建立一个动觉制作人应用程序,只需将数据放入动觉流。应用程序需要连接到远程主机并维护一个TCP套接字,数据将从远程主机推送到该套接字。数据转换非常少,因此producer应用程序将非常简单。。。我知道我可以为此设置一个EC2实例,但如果有更好的方法,我想探索一下

示例:

  • 您可以在AWS Lambda上构建一个生产者,但由于我必须维护一个长期运行的TCP连接,这是行不通的
  • 您可以使用AWS IoT维护到WebSocket的连接,并在每条消息上调用Lambda函数,但我的连接只是一个标准TCP连接

问题:在AWS产品套件中,我还可以使用哪些产品来构建生产者?

生产者代码通常在您希望捕获的信息源上运行

例如:

  • 捕获网络事件时,生产者应该是监视流量的网络设备
  • 捕获零售采购时,生产者是处理交易的系统
  • 捕捉地震时,生产者是监测振动的设备
在您的情况下,远程主机应该是生产者,它将数据发送到Kinesis。与其让远程主机将数据推送到Lambda函数,不如让远程主机直接推送到Kinesis

更新

你提到:

Kinesis Agent是一个独立的Java软件应用程序,它提供了一种简单的方法来收集数据并将数据发送到Kinesis Firehose

如果您使用的是Amazon Kinesis Firehose,则Kinesis代理可以是您的制作人。它将数据发送到消防软管或者,您可以为Firehose编写自己的制作人。

发件人:

您可以使用适用于Java、.NET、Node.js、Python或Ruby的AWS SDK,使用Kinesis Firehose API将数据发送到Kinesis Firehose交付流

如果您使用的是Amazon Kinesis Streams,则需要编写自己的制作人。发件人:

生产者将数据记录放入运动流中。例如,向Kinesis流发送日志数据的web服务器就是生产者

因此,生产者只是应用于将数据发送到Kinesis中的任何事物的术语,它由消费者检索。

有几个选项:

  • 您可以将IoT与一个用于远程主机的应用程序一起使用,以将其推送到一个运动流中。在这种情况下,您的远程应用程序将是直接与AWS物联网基础设施对话的设备。然后,您需要设置一个规则,将所有消息转发到一个kinesis流进行处理。看

    这样做的好处是,你不再需要在任何地方托管制作人应用程序。但您需要能够修改在远程主机上运行的应用程序

  • 您不必使用,您的数据源只需重复调用或即可。这同样需要修改远程应用程序

  • 或者,如您所知,您可以在EC2上运行应用程序。通过网络与之交谈。这可能会让你更好地控制它的运行方式,并减少对远程应用程序的修改。但是你现在有了更大的开发操作负担


  • 这里没有合适的托管选项。如果你的任务是

    • 发起并维护到您不控制的第三方远程设备的持久TCP连接
    • 无论有效载荷从何而下
    • 处理/转换它,以及
    • 将其提供给充当动觉制作者的代码

    …然后您需要一个服务器,因为没有一个服务可以完成所有这些事情。EC2是您正在寻找的产品。

    不,不是这样。您所描述的是Kinesis代理应该运行的位置。我描述的远程主机是第三方的。