Perbedaan API dokumen antara versi 1 dan versi 2 AWS SDK untuk Java - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Perbedaan API dokumen antara versi 1 dan versi 2 AWS SDK untuk Java

Document API mendukung bekerja dengan dokumen bergaya JSON sebagai item tunggal dalam tabel DynamoDB. V1 Document API memiliki API yang sesuai di V2, tetapi alih-alih menggunakan klien terpisah untuk API dokumen seperti pada V1, V2 menggabungkan fitur API dokumen dalam klien yang disempurnakan DynamoDB.

Di V1, Itemkelas mewakili catatan tidak terstruktur dari tabel DynamoDB. Dalam V2, catatan tidak terstruktur diwakili oleh instance EnhancedDocumentkelas. Perhatikan bahwa kunci primer didefinisikan dalam skema tabel untuk V2, dan pada item itu sendiri di V1.

Tabel di bawah ini membandingkan perbedaan antara Dokumen APIs di V1 dan V2.

Kasus penggunaan V1 V2
Buat klien dokumen
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.
Referensi tabel
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
Put item
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);
Get item
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
Mengkonversi struktur JSON untuk menggunakannya dengan Document API
// 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());
Masukan JSON
documentTable.putItem(item)
documentTable.putItem(document);
Baca JSON
GetItemOutcome outcome = //Get item. String jsonPerson = outcome.getItem().toJSON();
String jsonPerson = documentTable.getItem(Key.builder() .partitionValue(50).build()) .fromJson();

Referensi API dan panduan untuk dokumen APIs