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 DocumentTableSchemaAttributeConverterProvider.defaultProvider()
Metode ini menyediakan konverter untuk tipe default
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" } ] }