Inizia a usare l'Enhanced Document API - AWS SDK for Java 2.x

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Inizia a usare l'Enhanced Document API

L'API Enhanced Document richiede le stesse dipendenze necessarie per l'API DynamoDB Enhanced Client. Richiede anche un'DynamoDbEnhancedClientistanza, come mostrato all'inizio di questo argomento.

Poiché l'Enhanced Document API è stata rilasciata con la versione 2.20.3 diAWS SDK for Java 2.x, è necessaria quella versione o superiore.

Crea un e un DocumentTableSchemaDynamoDbTable

Per richiamare comandi su una tabella DynamoDB utilizzando l'API Enhanced Document, associa la tabella a un oggetto risorsa < > lato DynamoDbTableclient EnhancedDocument.

Il table() metodo del client avanzato crea un'DynamoDbTable<EnhancedDocument>istanza e richiede parametri per il nome della tabella DynamoDB e un. DocumentTableSchema

Il builder for a DocumentTableSchemarichiede una chiave di indice principale e uno o più provider di convertitori di attributi. Il AttributeConverterProvider.defaultProvider() metodo fornisce convertitori per i tipi predefiniti. Dovrebbe essere specificato anche se si fornisce un provider di convertitori di attributi personalizzato. È possibile aggiungere una chiave di indice secondaria opzionale al generatore.

Il seguente frammento di codice mostra il codice che genera la rappresentazione lato client di una tabella DynamoDB che memorizza oggetti senza schema. person EnhancedDocument

DynamoDbTable<EnhancedDocument> documentDynamoDbTable = enhancedClient.table("person", TableSchema.documentSchemaBuilder() // Specify the primary key attributes. .addIndexPartitionKey(TableMetadata.primaryIndexName(),"id", AttributeValueType.S) .addIndexSortKey(TableMetadata.primaryIndexName(), "lastName", AttributeValueType.S) // Specify attribute converter providers. Minimally add the default one. .attributeConverterProviders(AttributeConverterProvider.defaultProvider()) .build()); // Call documentTable.createTable() if "person" does not exist in DynamoDB. // createTable() should be called only one time.

Di seguito viene illustrata la rappresentazione JSON di un oggetto utilizzata in questa sezione. person

{ "id": 1, "firstName": "Richard", "lastName": "Roe", "age": 25, "addresses": { "home": { "zipCode": "00000", "city": "Any Town", "state": "FL", "street": "123 Any Street" }, "work": { "zipCode": "00001", "city": "Anywhere", "state": "FL", "street": "100 Main Street" } }, "hobbies": [ "Hobby 1", "Hobby 2" ], "phoneNumbers": [ { "type": "Home", "number": "555-0100" }, { "type": "Work", "number": "555-0119" } ] }