是否有 way/library 到 de/serialize Dynamodb 转储文件数据?

Is there a way/library to de/serialize Dynamodb dump file data?

my objective 是从 Dynamodb 转储文件中读取,对于每一行,将行反序列化为 POJO,修改它,将其序列化为字符串,然后将该字符串写入文件;最后一步是使用我编写修改后的字符串的文件将数据导入回 Dynamodb。

假设我有一个包含以下内容的 dynamodb 转储文件:

nameETX{"s":"batman"}STXtimestampETX{"s":"2015-03-04"}STXstatusETX{"s":"APPROVED"}
nameETX{"s":"batman"}STXtimestampETX{"s":"2015-03-04"}STXstatusETX{"s":"APPROVED"}
nameETX{"s":"batman"}STXtimestampETX{"s":"2015-03-04"}STXstatusETX{"s":"APPROVED"}
nameETX{"s":"batman"}STXtimestampETX{"s":"2015-03-04"}STXstatusETX{"s":"APPROVED"}

有没有我可以用来完成这个的库或工厂方法?

TL;DR

通过STX反序列化然后ETX,将值保存到映射

按照 dynamo 数据库格式创建字符串进行序列化

  • STXfield_nameETX{"field_type":"value"}

遗憾的是,我还没有找到任何可以自动执行此操作的库。

我自己写了 de/serializer 来完成这个。

由于每个变量都有 STX/ETX 个分隔符:

  • 我用STX分割了每一行

    • 这会给我:[nameETX{"s":"batman"},timestampETX{"s":"2015-03-04"},statusETX{"s":"APPROVED"}]
  • 由此,我再次拆分ETX

    • 这会给我:["name", "{"s":"batman"}"]
  • 对于每个字段,我都将其保存到地图中;该值应该从 json 字符串中解析出来。

对于序列化,更简单,只需将字段名称与 STX 和 ETX 连接,然后将值附加为 json 字符串。