package Ġu y . ko hes ive . iac . examples . aws . lamb das Ċ Ċ import Ġcom . amazonaws . services . k inesis . Amazon K inesis Ċ import Ġcom . amazonaws . services . k inesis . Amazon K inesis Client Builder Ċ import Ġcom . amazonaws . services . k inesis . model . Put Records Request Ċ import Ġcom . amazonaws . services . k inesis . model . Put Records Request Entry Ċ import Ġcom . amazonaws . services . lambda . runtime . Context Ċ import Ġcom . amazonaws . services . lambda . runtime . RequestHandler Ċ import Ġcom . amazonaws . services . lambda . runtime . events . SN SE vent Ċ Ċ class ĠS ns Event To K inesis Stream Forwarding ( val Ġk inesis : ĠAmazon K inesis Ġ= ĠAmazon K inesis Client Builder . default Client (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Partition FieldName : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride K inesis OutputStream Env Value : ĠString ? Ġ= Ġnull ) ĊĠĠĠ Ġ: ĠK inesis Forwarding Lambda ( override Partition FieldName , Ġoverride K inesis OutputStream Env Value ), ĠRequest Handler < SN SE vent , ĠUnit > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Request ( input : ĠSN SE vent , Ġcontext : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinput . records . map Ġ{ Ġit . sns . message Ġ}. k inesis Safe Json Batch ing Ġ{ Ġbatch Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsend Batch Ġ= Ġbatch . map Ġ{ ĠPut Records Request Entry (). with Partition Key ( it . first ). with Data ( it . second ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġk inesis . put Records ( Put Records Request (). with Stream Name ( output K inesis Stream ). with Records ( send Batch )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . failed Record Count Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . records . map Indexed Ġ{ Ġi , Ġitem Ġ-> Ġi Ġto Ġitem Ġ}. filter Ġ{ Ġit . second . errorCode Ġ!= Ġnull Ġ}. map Ġ{ Ġsend Batch [ it . first ] Ġto Ġit . second Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġlog Ġerrors , Ġor Ġdo Ġwhat , Ġerror Ġqueue ? ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . logger . log (" Some Ġrecords Ġfailed Ġto Ġwrite Ġto Ġthe ĠK inesis Ġstream ") Ġ// ĠTODO : Ġlog Ġsomething Ġmore Ġmeaningful ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }