Ubah perilaku pembaruan atribut - 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.

Ubah perilaku pembaruan atribut

Anda dapat menyesuaikan perilaku pembaruan atribut individual saat Anda melakukan operasi pembaruan. Beberapa contoh operasi pembaruan di DynamoDB Enhanced API Client updateItemadalah () dan ()transactWriteItems.

Misalnya, bayangkan Anda ingin menyimpan stempel waktu yang dibuat pada catatan Anda. Namun, Anda ingin nilainya ditulis hanya jika tidak ada nilai yang ada untuk atribut yang sudah ada dalam database. Dalam hal ini, Anda menggunakan perilaku WRITE_IF_NOT_EXISTS pembaruan.

Contoh berikut menunjukkan anotasi yang menambahkan perilaku ke createdOn atribut.

@DynamoDbBean public class Customer extends GenericRecord { private String id; private Instant createdOn; @DynamoDbPartitionKey public String getId() { return this.id; } public void setId(String id) { this.name = id; } @DynamoDbUpdateBehavior(UpdateBehavior.WRITE_IF_NOT_EXISTS) public Instant getCreatedOn() { return this.createdOn; } public void setCreatedOn(Instant createdOn) { this.createdOn = createdOn; } }

Anda dapat mendeklarasikan perilaku pembaruan yang sama ketika Anda membangun skema tabel statis seperti yang ditunjukkan pada contoh berikut setelah baris komentar 1.

static final TableSchema<Customer> CUSTOMER_TABLE_SCHEMA = TableSchema.builder(Customer.class) .newItemSupplier(Customer::new) .addAttribute(String.class, a -> a.name("id") .getter(Customer::getId) .setter(Customer::setId) .tags(StaticAttributeTags.primaryPartitionKey())) .addAttribute(Instant.class, a -> a.name("createdOn") .getter(Customer::getCreatedOn) .setter(Customer::setCreatedOn) // 1. Add an UpdateBehavior. .tags(StaticAttributeTags.updateBehavior(UpdateBehavior.WRITE_IF_NOT_EXISTS))) .build();