Différences entre l'API des documents entre la version 1 et la version 2 du AWS SDK pour Java - 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.

Différences entre l'API des documents entre la version 1 et la version 2 du AWS SDK pour Java

L'API Document permet de travailler avec des documents de style JSON sous forme d'éléments uniques dans une table DynamoDB. L'API de document V1 possède une API correspondante dans la version V2, mais au lieu d'utiliser un client distinct pour l'API de document comme dans la version V1, la version V2 intègre les fonctionnalités de l'API de document dans le client amélioré DynamoDB.

Dans la version 1, la Itemclasse représente un enregistrement non structuré d'une table DynamoDB. Dans la version 2, un enregistrement non structuré est représenté par une instance de la EnhancedDocumentclasse. Notez que les clés primaires sont définies dans le schéma de table pour la version 2 et sur l'élément lui-même dans la version 1.

Le tableau ci-dessous compare les différences entre le document APIs de la version 1 et de la version 2.

Cas d’utilisation V1 V2
Création d'un client de documents
AmazonDynamoDB client = ... //Create a client. DynamoDB documentClient = new DynamoDB(client);
// The V2 Document API uses the same DynamoDbEnhancedClient // that is used for mapping POJOs. DynamoDbClient standardClient = ... //Create a standard client. DynamoDbEnhancedClient enhancedClient = ... // Create an enhanced client.
Référencer un tableau
Table documentTable = docClient.documentClient("Person");
DynamoDbTable<EnhancedDocument> documentTable = enhancedClient.table("Person", TableSchema.documentSchemaBuilder() .addIndexPartitionKey(TableMetadata.primaryIndexName(),"id", AttributeValueType.S) .attributeConverterProviders(AttributeConverterProvider.defaultProvider()) .build());
Work with semi-structured data
Mettre un élément
Item item = new Item() .withPrimaryKey("id", 50) .withString("firstName", "Shirley"); PutItemOutcome outcome = documentTable.putItem(item);
EnhancedDocument personDocument = EnhancedDocument.builder() .putNumber("id", 50) .putString("firstName", "Shirley") .build(); documentTable.putItem(personDocument);
Obtenir un élément
GetItemOutcome outcome = documentTable.getItemOutcome( "id", 50); Item personDocFromDb = outcome.getItem(); String firstName = personDocFromDb.getString("firstName");
EnhancedDocument personDocFromDb = documentTable .getItem(Key.builder() .partitionValue(50) .build()); String firstName = personDocFromDb.getString("firstName");
Work with JSON items
Convertir une structure JSON pour l'utiliser avec l'API Document
// The 'jsonPerson' identifier is a JSON string. Item item = new Item().fromJSON(jsonPerson);
// The 'jsonPerson' identifier is a JSON string. EnhancedDocument document = EnhancedDocument.builder() .json(jsonPerson).build());
Mettez JSON
documentTable.putItem(item)
documentTable.putItem(document);
Lire le JSON
GetItemOutcome outcome = //Get item. String jsonPerson = outcome.getItem().toJSON();
String jsonPerson = documentTable.getItem(Key.builder() .partitionValue(50).build()) .fromJson();

Référence de l'API et guides pour le document APIs