gpt4 book ai didi

java - DynamoDB JDK 2.X 中 ItemUtils.toAttributeValue 的等效项?

转载 作者:行者123 更新时间:2023-12-01 14:33:29 26 4
gpt4 key购买 nike

com.amazonaws:aws-java-sdk-bundle 1.X ,有一个方便的辅助方法 ItemUtils.toAttributeValue 转换任何 ObjectAttributeValue使用正确的类型:

        ... if (value instanceof Boolean) {
return result.withBOOL((Boolean)value);
} else if (value instanceof String) {
return result.withS((String) value);
} else if ( ...

AWS JDK 2.X 中是否有与此方法等效的方法?具体来说,我正在使用 DynamoDB 和 software.amazon.awssdk:dynamodb 2.X . AttributeValue 1.X 中的类(class)和 2.X甚至不一样,所以使用 ItemUtils.toAttributeValue从 1.X 不是一个选项。

最佳答案

同时,我只是从 1.X 复制了我需要的功能:

  static AttributeValue toAttributeValue(Object value) {
if (value == null) return AttributeValue.builder().nul(true).build();
if (value instanceof AttributeValue) return (AttributeValue) value;
if (value instanceof String) return AttributeValue.builder().s((String) value).build();
if (value instanceof Number) return AttributeValue.builder().n(value.toString()).build();

if (value instanceof Map) return AttributeValue.builder().m(
((Map<String, Object>) value).entrySet().stream().collect(Collectors.toMap(
Map.Entry::getKey,
e -> toAttributeValue(e.getValue())
))).build();

throw new UnsupportedOperationException("Time to impl new path for " + value);
}

关于java - DynamoDB JDK 2.X 中 ItemUtils.toAttributeValue 的等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57280071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com