Créez des documents améliorés - AWS SDK for Java 2.x

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Créez des documents améliorés

An EnhancedDocument représente un objet de type document doté d'une structure complexe avec des attributs imbriqués. An EnhancedDocument nécessite des attributs de haut niveau qui correspondent aux attributs de clé primaire spécifiés pour leDocumentTableSchema. Le contenu restant est arbitraire et peut être composé d'attributs de haut niveau ou d'attributs profondément imbriqués.

Vous créez une EnhancedDocument instance à l'aide d'un générateur qui propose plusieurs méthodes pour ajouter des éléments.

Construire à partir d'une chaîne JSON

Avec une chaîne JSON, vous pouvez créer un appel de méthode EnhancedDocument en un. L'extrait suivant crée une chaîne EnhancedDocument à partir d'une chaîne JSON renvoyée par la méthode d'jsonPerson()assistance. La jsonPerson() méthode renvoie la version de chaîne JSON de l'objet person affiché précédemment.

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

Construisez à partir d'éléments individuels

Vous pouvez également créer une EnhancedDocument instance à partir de composants individuels à l'aide des méthodes de type sécurisé du générateur.

L'exemple suivant crée un document person amélioré similaire au document amélioré créé à partir de la chaîne JSON de l'exemple précédent.

/* 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")); }