Objek data di Datastore dikenal sebagai entity, yang masing-masing dikategorikan berdasarkan jenis tertentu untuk tujuan kueri. Misalnya, jika Anda menulis aplikasi sumber daya manusia, Anda dapat mewakili setiap karyawan dengan entity jenis Employee
. Perhatikan bahwa nilai data
entity tersedia dalam bentuk
properti.
Untuk mengetahui informasi selengkapnya tentang entity, lihat dokumen konsep
Entity, Properti, dan Kunci.
Membuat entity dan menyetel properti
Di Java, Anda membuat entity baru dengan membuat instance class
Entity
yang menyediakan jenis entity sebagai
argumen ke Entity()
konstruktor. Setelah mengisi properti entity jika perlu, Anda menyimpannya
ke datastore dengan meneruskannya sebagai argumen ke
metode
DatastoreService.put()
. Anda dapat menentukan nama kunci entity dengan meneruskannya sebagai argumen kedua ke konstruktor.
Contoh berikut membuat entity jenis Employee
, mengisi nilai propertinya, dan menyimpannya ke penyimpanan data:
Perlu diperhatikan bahwa jika Anda tidak memberikan nama kunci, Datastore akan otomatis membuat ID numerik untuk kunci entity tersebut:
Mengambil entity
Untuk mengambil entity yang diidentifikasi oleh kunci tertentu, teruskan objek Key
ke metode DatastoreService.get()
:
Mengupdate entity
Untuk memperbarui entity yang ada, ubah atribut objek Entity, lalu teruskan ke metode DatastoreService.put()
. Data objek akan menimpa entity yang ada. Seluruh objek dikirim ke Datastore pada setiap panggilan ke put()
.
Menghapus entity
Dengan mempertimbangkan kunci entity, Anda dapat menghapus entity dengan metode DatastoreService.delete()
:
Menghapus entity secara massal
Jika Anda perlu menghapus entity dalam jumlah besar, sebaiknya gunakan Dataflow untuk menghapus entity secara massal.
Menggunakan operasi batch
Anda dapat menggunakan operasi batch jika ingin beroperasi di beberapa entity dalam satu panggilan Datastore.
Berikut adalah contoh panggilan batch:
Operasi batch ini mengelompokkan semua entity atau kunci menurut entity group, lalu melakukan operasi yang diminta pada setiap entity group secara paralel, yang lebih cepat daripada melakukan panggilan terpisah untuk setiap entity individu karena biaya overhead akan dikenai hanya untuk satu panggilan layanan. Jika batch menggunakan beberapa entity group, pekerjaan untuk semua grup akan dilakukan secara paralel di sisi server.
Panggilan batch put()
atau delete()
mungkin berhasil untuk beberapa entity, tetapi tidak untuk yang lainnya.
Jika panggilan harus berhasil sepenuhnya atau gagal sepenuhnya, gunakan
transaksi dengan semua entity
yang terpengaruh dalam entity group yang sama.