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 DocumentTableSchema
DynamoDbTable
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 DocumentTableSchemaAttributeConverterProvider.defaultProvider()
metodo fornisce convertitori per i tipi predefiniti
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" } ] }