2015-08-14 77 views
10

有人可以解釋當Lambda訂閱Kinesis項目創建事件時發生的事件。 AWS賬戶中有100個併發請求的限制,所以如果將1,000,000個項目添加到kinesis中,事件是如何處理的,他們是否會排隊等待下一個可用的併發lambda?AWS Lambda處理Kinesis Stream時的限制

回答

14

從FAQ http://aws.amazon.com/lambda/faqs/

「問:如何從Amazon的Kinesis流和亞馬遜DynamoDB流AWS LAMBDA過程數據 亞馬遜的Kinesis和DynamoDB行旅發送到您的AWS lambda表達式的記錄是嚴格系列化,每個碎片。這意味着如果您將兩條記錄放在同一個分片中,Lambda保證您的Lambda函數將在第一條記錄被第二條記錄調用之前成功調用。如果一條記錄的調用超時,被限制或遇到任何其他錯誤,Lambda將重試直到成功(或記錄達到其24小時到期),然後再轉到下一條記錄。不能保證跨不同記錄的記錄排序,並且每個分片的處理都是並行進行的。「

這意味着如果您將1M項添加到Kinesis,但只有一個分片,那麼節流無關緊要 - 您將只有一個Lambda函數實例從串行讀取該分片,這取決於批量大小指定。您擁有的分片越多,函數將看到的併發調用就越多。如果您擁有大於100個分片的流,則您提及的帳戶限額可輕鬆增加到AWS客戶支持需要的任何分數。更多細節在這裏。 http://docs.aws.amazon.com/lambda/latest/dg/limits.html

希望有幫助!