2017-04-13 130 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 –