2017-04-13 82 views
-1

我有Amazon Kinesis Streams,它具有所有的点击流数据,我们希望编写一个API来查询Kinesis Streams。我们可以编写AWS Lambda函数来查询Kinesis Streams

我的计划是创建一个API网关,它调用AWS Lambda函数来查询Kinesis Streams并将其返回。

是否可以使用Lambda查询Kinesis Streams,还是应该使用Kinesis Analytics和Lambda?

+0

我目前使用的是Firehose,但它至少在1分钟后向S3吐出数据,并且我想要接近实时结果。所以我想查询流获取实时数据。 –

回答

0

你的做法是不的典型方式使用亚马逊的Kinesis流。

正常情况是数据发送到Kinesis流,该流持有24小时的数据(但可以配置长达7天)。然后,您的应用程序可以从流中提取数据并对其进行处理 - 实时更新某些内容或将信息存储在数据库中。事实上,Amazon Kinesis Firehose可以自动将传入数据存储到Amazon S3,Amazon Redshift或Amazon Elasticsearch Service。

因此,流是处理而不是查询。只要将它们看作可重放队列(而不是数据库)。

或者,只要有新消息到达流中,您就可以让Amazon Kinesis Streams trigger an AWS Lambda function。这允许接近实时处理传入的信息。

Amazon Kinesis Streams triggering an AWS Lambda function

+0

我目前使用的是Firehose,但它在1分钟后向S3吐出数据,并且我想要接近实时结果。所以我想查询流获取实时数据。 –

0

使用像流水,然后将其发送到Elasticsearch然后你就可以用它来查询数据。 Kinesis流就像一个临时缓冲区,用于保存数据,直到您可以对其执行其他操作,例如将其加载到数据存储中。

看到我下面的评论,你可以使用Kinesis Analytics来做你想做的事情。

+0

我目前使用的是Firehose,但是它在1分钟后向S3吐出数据,并且我想要接近实时结果。所以我想查询流获取实时数据。 –

+0

调查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

+0

谢谢OpenBSNinja –

相关问题