2015-09-05 34 views
4

標題可能有點混亂。我會盡我所能讓它更清晰。如果AWS Lambda函數具有來自多個Kinesis流的事件源,那麼這批傳入記錄是來自單個Kinesis流還是混合流?

假設我有具有兩個不同的室壁運動一個AWS lambda函數流A和B作爲輸入事件源。

所以,對於下面的,因爲KinesisEvent實例包含一個批次的記錄,將該批包含的記錄從一個單一的數據流,或者基本上它包含來自流A和B的記錄?

public class ProcessKinesisEvents { 
    public void recordHandler(KinesisEvent event, Context context) { 
     ... 
    } 
} 

回答

2

一個AWS Kinesis流和AWS Lambda功能之間的每個映射是從到CreateEventSourceMapping一個呼叫產生的和專用的實體包含在EventSourceArnFunctionName,爲此還可以指定一個專用Batch Size相應的:

POST /2015-03-31/event-source-mappings/ HTTP/1.1 
Content-type: application/json 

{ 
    "BatchSize": number, 
    "Enabled": boolean, 
    "EventSourceArn": "string", 
    "FunctionName": "string", 
    "StartingPosition": "string" 
} 

因此,將收到的批次被約束於構成RESP單一事件源。映射,並且每個其他事件源將相應地分別調用您的Lambda函數,因此所有內容都可以正確隔離。

+0

謝謝,很好的解釋。 –

+0

任何想法爲什麼API有記錄上的事件源而不是KinesisEvent? – Upio

相關問題