我使用AmazonKinesisAsyncClinet.putRecordAsync()
方法从Java Lambda函数异步写入Kinesis流。
Lambda函数开头的putRecordAsync()
个请求在Kinesis流中出现得很好。但是,最后几个putRecordAsync()
请求未出现在Kinesis流中。 Lambda运行时环境在到达代码结束时被终止,并且不允许异步put任务完成。
是否可以从Java Lambda函数异步写入我的Kinesis流,并确保在执行被杀之前完成所有写入操作?
答案 0 :(得分:1)
您可以调用kinesis.getExecutorService.awaitTermination()以确保在返回之前完成所有线程。