Erstellen Sie erweiterte Dokumente - AWS SDK for Java 2.x

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie erweiterte Dokumente

An EnhancedDocument steht für ein Objekt vom Typ Dokument mit einer komplexen Struktur mit verschachtelten Attributen. An EnhancedDocument erfordert Attribute der obersten Ebene, die den für den angegebenen Primärschlüsselattributen entsprechen. DocumentTableSchema Der restliche Inhalt ist willkürlich und kann aus Attributen der obersten Ebene und auch tief verschachtelten Attributen bestehen.

Sie erstellen eine EnhancedDocument Instanz mithilfe eines Builders, der mehrere Möglichkeiten zum Hinzufügen von Elementen bietet.

Aus einer JSON-Zeichenfolge erstellen

Mit einer JSON-Zeichenfolge können Sie einen Methodenaufruf EnhancedDocument in einem Schritt erstellen. Das folgende Snippet erstellt EnhancedDocument aus einer JSON-Zeichenfolge, die von der jsonPerson() Hilfsmethode zurückgegeben wird. Die jsonPerson() Methode gibt die JSON-String-Version des zuvor gezeigten Personenobjekts zurück.

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

Aus einzelnen Elementen zusammensetzen

Alternativ können Sie mit den typsicheren Methoden des Builders eine EnhancedDocument Instanz aus einzelnen Komponenten erstellen.

Im folgenden Beispiel wird ein person erweitertes Dokument erstellt, das dem erweiterten Dokument ähnelt, das aus der JSON-Zeichenfolge im vorherigen Beispiel erstellt wurde.

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