Crear documentos mejorados - AWS SDK for Java 2.x

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crear documentos mejorados

Un EnhancedDocument representa un objeto de tipo documento que tiene una estructura compleja con atributos anidados. Un EnhancedDocument requiere atributos de nivel superior que coincidan con los atributos clave principales especificados para el DocumentTableSchema. El contenido restante es arbitrario y puede consistir en atributos de nivel superior y también en atributos profundamente anidados.

Para crear una instancia EnhancedDocument, utilice un creador que proporciona varias formas de añadir elementos.

Compilar a partir de una cadena JSON

Con una cadena JSON, puede construir un EnhancedDocument en una llamada al método. El siguiente fragmento de código crea un EnhancedDocument a partir de una cadena JSON devuelta por el método auxiliar jsonPerson(). El método jsonPerson() devuelve la versión de cadena JSON del objeto persona mostrado anteriormente.

EnhancedDocument document = EnhancedDocument.builder() .json( jsonPerson() ) .build());

Construir a partir de elementos individuales

Alternativamente, puede construir una instancia EnhancedDocument a partir de componentes individuales utilizando métodos seguros de tipo del creador.

En el ejemplo siguiente, se crea un documento mejorado person similar al que se crea a partir de la cadena JSON del ejemplo anterior.

/* Define the shape of an address map whose JSON representation looks like the following. Use 'addressMapEnhancedType' in the following EnhancedDocument.builder() to simplify the code. "home": { "zipCode": "00000", "city": "Any Town", "state": "FL", "street": "123 Any Street" }*/ EnhancedType<Map<String, String>> addressMapEnhancedType = EnhancedType.mapOf(EnhancedType.of(String.class), EnhancedType.of(String.class)); // Use the builder's typesafe methods to add elements to the enhanced document. EnhancedDocument personDocument = EnhancedDocument.builder() .putNumber("id", 50) .putString("firstName", "Shirley") .putString("lastName", "Rodriguez") .putNumber("age", 53) .putNull("nullAttribute") .putJson("phoneNumbers", phoneNumbersJSONString()) /* Add the map of addresses whose JSON representation looks like the following. { "home": { "zipCode": "00000", "city": "Any Town", "state": "FL", "street": "123 Any Street" } } */ .putMap("addresses", getAddresses(), EnhancedType.of(String.class), addressMapEnhancedType) .putList("hobbies", List.of("Theater", "Golf"), EnhancedType.of(String.class)) .build();
private static String phoneNumbersJSONString() { return " [" + " {" + " \"type\": \"Home\"," + " \"number\": \"555-0140\"" + " }," + " {" + " \"type\": \"Work\"," + " \"number\": \"555-0155\"" + " }" + " ]"; } private static Map<String, Map<String, String>> getAddresses() { return Map.of( "home", Map.of( "zipCode", "00002", "city", "Any Town", "state", "ME", "street", "123 Any Street")); }