Mulai menggunakan Enhanced Document API - 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.

Mulai menggunakan Enhanced Document API

Enhanced Document API memerlukan dependensi yang sama yang diperlukan untuk DynamoDB Enhanced Client API. Ini juga membutuhkan DynamoDbEnhancedClientcontoh seperti yang ditunjukkan di awal topik ini.

Karena API Dokumen yang Ditingkatkan dirilis dengan versi 2.20.3AWS SDK for Java 2.x, Anda memerlukan versi itu atau lebih tinggi.

Buat DocumentTableSchema dan a DynamoDbTable

Untuk menjalankan perintah terhadap tabel DynamoDB menggunakan Enhanced Document API, kaitkan tabel dengan objek resource < > sisi DynamoDbTableklien EnhancedDocument.

table()Metode klien yang disempurnakan membuat DynamoDbTable<EnhancedDocument> instance dan membutuhkan parameter untuk nama tabel DynamoDB dan a. DocumentTableSchema

Pembangun untuk a DocumentTableSchemamemerlukan kunci indeks utama dan satu atau lebih penyedia konverter atribut. AttributeConverterProvider.defaultProvider()Metode ini menyediakan konverter untuk tipe default. Itu harus ditentukan bahkan jika Anda menyediakan penyedia konverter atribut khusus. Anda dapat menambahkan kunci indeks sekunder opsional ke pembangun.

Cuplikan kode berikut menunjukkan kode yang menghasilkan representasi sisi klien dari tabel DynamoDB yang menyimpan objek tanpa skema. 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.

Berikut ini menunjukkan representasi JSON dari person objek yang digunakan di seluruh bagian ini.

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