Amazon dynamodb 从flink群集外部访问flink状态的方法有哪些?

Amazon dynamodb 从flink群集外部访问flink状态的方法有哪些?,amazon-dynamodb,apache-flink,flink-streaming,flink-cep,Amazon Dynamodb,Apache Flink,Flink Streaming,Flink Cep,我刚刚接触ApacheFlink,正在构建一个简单的应用程序,在这个应用程序中,我从一个动觉流中读取事件,比如 TestEvent{ String id, DateTime created_at, Long amount } 对上面由id键入的流上的字段金额执行聚合求和。该转换相当于SQL select sumamount from testevents group by id,其中testevents是迄今为止接收到的所有事件。 聚合结果存储在flink状态,我希望通过API公开结果

我刚刚接触ApacheFlink,正在构建一个简单的应用程序,在这个应用程序中,我从一个动觉流中读取事件,比如

TestEvent{
 String id,
 DateTime created_at,
 Long amount
} 
对上面由id键入的流上的字段金额执行聚合求和。该转换相当于SQL select sumamount from testevents group by id,其中testevents是迄今为止接收到的所有事件。 聚合结果存储在flink状态,我希望通过API公开结果。有什么办法吗


PS:我们可以在dynamoDB中存储flink状态并在那里创建API吗?或者以任何其他方式将状态持久化并向外界公开?

我建议暂时忽略状态,而将接收器视为流应用程序输出结果的主要方式

如果您已经在使用Kinesis进行输入,还可以使用Kinesis从Flink输出结果。然后,您可以使用AWS提供的DynamoDB的Kinesis适配器,如上所述


回到您最初的问题:您可以查询Flinks状态,并将RESTAPI与流应用程序一起发布,但这是实现目标所不需要的大量工作。您也可以通过stateAPI访问checkpointed/savepointed状态,但同样,这是一项相当多的手动工作,可以通过上面概述的常规路线来保存。

这是Flink的文档,其中提供了一些用例

您还可以使用API脱机读取它