Commencez à utiliser l'API Enhanced Document - 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.

Commencez à utiliser l'API Enhanced Document

L'API de document améliorée nécessite les mêmes dépendances que celles requises pour l'API client améliorée DynamoDB. Cela nécessite également une DynamoDbEnhancedClientinstance, comme indiqué au début de cette rubrique.

Étant donné que l'API Enhanced Document a été publiée avec la version 2.20.3 duAWS SDK for Java 2.x, vous avez besoin de cette version ou d'une version ultérieure.

Créez un DocumentTableSchema et un DynamoDbTable

Pour appeler des commandes sur une table DynamoDB à l'aide de l'API Enhanced Document, associez la table à un objet de ressource < > DynamoDbTablecôté client EnhancedDocument.

La table() méthode du client amélioré crée une DynamoDbTable<EnhancedDocument> instance et nécessite des paramètres pour le nom de la table DynamoDB et un. DocumentTableSchema

Le générateur d'un DocumentTableSchemanécessite une clé d'index principale et un ou plusieurs fournisseurs de convertisseurs d'attributs. La AttributeConverterProvider.defaultProvider() méthode fournit des convertisseurs pour les types par défaut. Il doit être spécifié même si vous fournissez un fournisseur de convertisseur d'attributs personnalisé. Vous pouvez ajouter une clé d'index secondaire facultative au générateur.

L'extrait de code suivant montre le code qui génère la représentation côté client d'une table DynamoDB qui stocke des objets sans schéma. 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.

Ce qui suit montre la représentation JSON d'un person objet utilisé dans cette section.

{ "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" } ] }