

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.

# Dokumentieren Sie die API-Unterschiede zwischen Version 1 und Version 2 von AWS SDK für Java
<a name="dynamodb-mapping-document-api"></a>

Die Dokument-API unterstützt die Arbeit mit Dokumenten im JSON-Stil als einzelne Elemente in einer DynamoDB-Tabelle. Die V1-Dokument-API hat eine entsprechende API in V2, aber anstatt wie in V1 einen separaten Client für die Dokument-API zu verwenden, integriert V2 Dokument-API-Funktionen in den erweiterten DynamoDB-Client. 

In V1 stellt die [https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodbv2/document/Item.html](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodbv2/document/Item.html)Klasse einen unstrukturierten Datensatz aus einer DynamoDB-Tabelle dar. In V2 wird ein unstrukturierter Datensatz durch eine Instanz der Klasse dargestellt. [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/document/EnhancedDocument.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/document/EnhancedDocument.html) Beachten Sie, dass Primärschlüssel im Tabellenschema für V2 und im Element selbst in V1 definiert sind.

In der folgenden Tabelle werden die Unterschiede zwischen den Dokumenten APIs in V1 und V2 verglichen.


| Anwendungsfall | V1 | V2 | 
| --- |--- |--- |
| Erstellen Sie einen Dokumentenclient |  <pre>AmazonDynamoDB client = ... //Create a client.<br />DynamoDB documentClient = new DynamoDB(client);</pre>  |  <pre>// The V2 Document API uses the same DynamoDbEnhancedClient<br />// that is used for mapping POJOs.<br />DynamoDbClient standardClient = ... //Create a standard client.<br />DynamoDbEnhancedClient enhancedClient = ... // Create an enhanced client.<br /></pre>  | 
| Verweisen Sie auf eine Tabelle |  <pre>Table documentTable = docClient.documentClient("Person");</pre>  |  <pre>DynamoDbTable<EnhancedDocument> documentTable = enhancedClient.table("Person",  <br />        TableSchema.documentSchemaBuilder()<br />              .addIndexPartitionKey(TableMetadata.primaryIndexName(),"id", AttributeValueType.S)<br />              .attributeConverterProviders(AttributeConverterProvider.defaultProvider())<br />              .build());</pre>  | 
| **Work with semi-structured data** | 
| --- |
| Element einfügen |  <pre>Item item = new Item()<br />      .withPrimaryKey("id", 50)<br />      .withString("firstName", "Shirley");<br />PutItemOutcome outcome = documentTable.putItem(item);</pre>  |  <pre>EnhancedDocument personDocument = EnhancedDocument.builder()<br />        .putNumber("id", 50)<br />        .putString("firstName", "Shirley")<br />        .build();<br />documentTable.putItem(personDocument);</pre>  | 
| Element abrufen |  <pre>GetItemOutcome outcome = documentTable.getItemOutcome( "id", 50);<br />Item personDocFromDb = outcome.getItem();<br />String firstName = personDocFromDb.getString("firstName");<br /></pre>  |  <pre>EnhancedDocument personDocFromDb = documentTable<br />        .getItem(Key.builder()<br />            .partitionValue(50)<br />            .build()); <br />String firstName = personDocFromDb.getString("firstName");<br /></pre>  | 
| **Work with JSON items** | 
| --- |
| Konvertiert eine JSON-Struktur, um sie mit der Document API zu verwenden |  <pre>// The 'jsonPerson' identifier is a JSON string. <br />Item item = new Item().fromJSON(jsonPerson);</pre>  |  <pre>// The 'jsonPerson' identifier is a JSON string.<br />EnhancedDocument document = EnhancedDocument.builder()<br />        .json(jsonPerson).build());</pre>  | 
| Geben Sie JSON ein |  <pre>documentTable.putItem(item)</pre>  |  <pre>documentTable.putItem(document);</pre>  | 
| Lesen Sie JSON |  <pre>GetItemOutcome outcome = //Get item.<br />String jsonPerson = outcome.getItem().toJSON();</pre>  |  <pre>String jsonPerson = documentTable.getItem(Key.builder()<br />        .partitionValue(50).build())<br />        .fromJson();</pre>  | 

## API-Referenz und Anleitungen für das Dokument APIs
<a name="dynamodb-mapping-document-api-ref"></a>


|  | V1 | V2 | 
| --- | --- | --- | 
| API-Referenz | [API-Referenz](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodbv2/document/package-summary.html) | [API-Referenz](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/document/package-summary.html) | 
| Leitfaden zur Dokumentation | [Entwicklerhandbuch für Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/JavaDocumentAPIItemCRUD.html) | [Verbesserte Dokument-API](ddb-en-client-doc-api.md) (dieser Leitfaden) | 

# V1 Xpec API zur V2 Expressions API
<a name="ddb-v1-xspec-migrate"></a>

Die in Version 1 verfügbare Expression Specification (Xspec) -API, mit der Ausdrücke für dokumentorientierte Daten erstellt werden können, ist in Version 2 nicht verfügbar. V2 verwendet die Expression API, die sowohl mit dokumentenorientierten Daten als auch mit zugewiesenen Daten funktioniert. object-to-item


****  

|  | V1 | V2 | 
| --- | --- | --- | 
| API-Name | API für Ausdrucksspezifikationen (Xspec) | Ausdrucks-API | 
| Funktioniert mit | [Methoden der [Document-API-Tabellenklasse](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodbv2/document/Table.html) wie [updateItem und scan](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodbv2/document/Table.html#updateItem-java.lang.String-java.lang.Object-com.amazonaws.services.dynamodbv2.xspec.UpdateItemExpressionSpec-)](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodbv2/document/Table.html#scan-com.amazonaws.services.dynamodbv2.xspec.ScanExpressionSpec-) |  Beide Versionen APIs von DynamoDB Enhanced Client: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sdk-for-java/latest/developer-guide/ddb-v1-xspec-migrate.html) Für beide Typen von APIs, nachdem Sie eine [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/DynamoDbTable.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/DynamoDbTable.html)Instanz erworben haben: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sdk-for-java/latest/developer-guide/ddb-v1-xspec-migrate.html) Sie verwenden Ausdrücke in `DynamoDbTable` Methoden, wenn Sie Anforderungsobjekte erstellen. Zum Beispiel in der `filterExpression` Methode der [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/model/QueryEnhancedRequest.Builder.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/model/QueryEnhancedRequest.Builder.html)  | 
| Ressourcen |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sdk-for-java/latest/developer-guide/ddb-v1-xspec-migrate.html)  | [Informationen zu Ausdrücken](ddb-en-client-expressions.md) in diesem Java-Entwicklerhandbuch | 