我有Amazon Kinesis Streams,它具有所有的點擊流數據,我們希望編寫一個API來查詢Kinesis Streams。我們可以編寫AWS Lambda函數來查詢Kinesis Streams
我的計劃是創建一個API網關,它調用AWS Lambda函數來查詢Kinesis Streams並將其返回。
是否可以使用Lambda查詢Kinesis Streams,還是應該使用Kinesis Analytics和Lambda?
我有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吐出數據,並且我想要接近實時結果。所以我想查詢流獲取實時數據。 –