将 Item 转换为 Map<String, AttributeValue> 用于 Java 中的 DynamoDB

Kai*_*dul 4 java amazon-dynamodb

是否有用于 DynamoDB 的 Java API 可以从 到 转换ItemMap<String, AttributeValue>无需我自己实现它?

编辑

item.asMap()会回来Map<String, Object>,不会Map<String, AttributeValue>。只是想知道是否有任何直接的 API?

Kai*_*dul 9

是的,但我设法找到了它:

// Item item
InternalUtils.toAttributeValues(item)
Run Code Online (Sandbox Code Playgroud)

然而,上述 API 在较新的 DynamoDB 库中已被弃用,幸运的是,该库基本上将调用委托给了ItemUtils未弃用的对象。所以我最终使用了这个:

ItemUtils.toAttributeValues(item)
Run Code Online (Sandbox Code Playgroud)

希望这将来能帮助其他人!


Dav*_*INO 6

您可以使用以下方法asMap

以地图形式返回当前项目的所有属性。


更新的答案:

要获得一个Map<String, AttributeValue>你可以使用ItemUtils.toAttributeValue

将 Item 转换为低级表示;如果输入为空,则为空。

如下

Map<String, AttributeValue> map = ItemUtils.toAttributeValue(item);
Run Code Online (Sandbox Code Playgroud)