我们可以编写AWS Lambda函数来查询Kinesis Streams
我有Amazon Kinesis Streams,它具有所有的点击流数据,我们希望编写一个API来查询Kinesis Streams。我们可以编写AWS Lambda函数来查询Kinesis Streams
我的计划是创建一个API网关,它调用AWS Lambda函数来查询Kinesis Streams并将其返回。
是否可以使用Lambda查询Kinesis Streams,还是应该使用Kinesis Analytics和Lambda?
您可以通过基于流的模型将AWS Kinesis与Lambda一起使用。 AWS Lambda会自行轮询Kinesis流并从Kinesis中获取记录数(由您配置)。
下面是详细信息:http://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html
你的做法是不的典型方式使用亚马逊的Kinesis流。
正常情况是数据发送到Kinesis流,该流持有24小时的数据(但可以配置长达7天)。然后,您的应用程序可以从流中提取数据并对其进行处理 - 实时更新某些内容或将信息存储在数据库中。事实上,Amazon Kinesis Firehose可以自动将传入数据存储到Amazon S3,Amazon Redshift或Amazon Elasticsearch Service。
因此,流是处理而不是查询。只要将它们看作可重放队列(而不是数据库)。
或者,只要有新消息到达流中,您就可以让Amazon Kinesis Streams trigger an AWS Lambda function。这允许接近实时处理传入的信息。
我目前使用的是Firehose,但它在1分钟后向S3吐出数据,并且我想要接近实时结果。所以我想查询流获取实时数据。 –
使用像流水,然后将其发送到Elasticsearch然后你就可以用它来查询数据。 Kinesis流就像一个临时缓冲区,用于保存数据,直到您可以对其执行其他操作,例如将其加载到数据存储中。
看到我下面的评论,你可以使用Kinesis Analytics来做你想做的事情。
我目前使用的是Firehose,但是它在1分钟后向S3吐出数据,并且我想要接近实时结果。所以我想查询流获取实时数据。 –
调查Kinesis Analytics,它做你想做的事。请参阅:https://www.slideshare.net/AmazonWebServices/introduction-to-amazon-kinesis-analytics和https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-analyzing-streaming-data-in- realtime-with-amazon-kinesis-analytics -bdm304 – OpenBSDNinja
谢谢OpenBSNinja –
我目前使用的是Firehose,但它至少在1分钟后向S3吐出数据,并且我想要接近实时结果。所以我想查询流获取实时数据。 –