gol*_*p04 6 java amazon-web-services amazon-dynamodb
在com.amazonaws:aws-java-sdk-bundle 1.X 中,有一个方便的辅助方法ItemUtils.toAttributeValue可以将 any 转换Object为AttributeValue具有正确类型的an :
... if (value instanceof Boolean) {
return result.withBOOL((Boolean)value);
} else if (value instanceof String) {
return result.withS((String) value);
} else if ( ...
Run Code Online (Sandbox Code Playgroud)
AWS JDK 2.X 中是否有与此方法等效的方法?具体来说,我正在使用 DynamoDB 和software.amazon.awssdk:dynamodb 2.X。1.X和2.X中的AttributeValue类甚至不相同,因此使用from 1.X 不是一种选择。ItemUtils.toAttributeValue
同时,我只是从 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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
800 次 |
| 最近记录: |