Gli oggetti di dati in Datastore sono noti come entità, ognuno dei quali è classificato
di un determinato kind ai fini delle query. Per
Ad esempio, se stai scrivendo un'applicazione per le risorse umane, potresti rappresentare
ogni dipendente con un'entità di tipo Employee
. Tieni presente che i dati dell'entità
i valori sono sotto forma di
proprietà.
Per saperne di più sulle entità, consulta il documento sui concetti Entità, proprietà e chiavi.
Creazione di entità e impostazione di proprietà
In Java, crei una nuova entità costruendo un'istanza della classe
Entity
, fornendo il tipo dell'entità come
argomento al costruttore Entity()
. Dopo aver compilato le proprietà dell'entità, se necessario, la salvi
al datastore passandolo come argomento
DatastoreService.put()
. Puoi specificare il nome della chiave dell'entità passandolo come secondo
al costruttore.
L'esempio seguente crea un'entità di tipo Employee
, compila i valori delle proprietà e la salva nel data store:
Tieni presente che se non fornisci un nome della chiave, Datastore genera automaticamente un ID numerico per la chiave dell'entità:
Recupero delle entità
Per recuperare un'entità identificata da una determinata chiave, passa Key
al metodo DatastoreService.get()
:
Aggiornamento delle entità
Per aggiornare un'entità esistente, modifica gli attributi dell'oggetto Entity, quindi passalo al metodo DatastoreService.put()
. I dati dell'oggetto sovrascrivono l'entità esistente. L'intero oggetto viene inviato a Datastore con ogni chiamata a put()
.
Eliminazione di entità
Data la chiave di un'entità, puoi eliminare l'entità con il metodo DatastoreService.delete()
:
Eliminazione di entità in blocco
Se devi eliminare un numero elevato di entità, ti consigliamo di utilizzare Dataflow per eliminare le entità in blocco.
Utilizzare le operazioni batch
Puoi utilizzare le operazioni batch se vuoi operare su più in una singola chiamata a Datastore.
Ecco un esempio di chiamata batch:
Queste operazioni batch raggruppano tutte le entità o le chiavi per gruppo di entità e poi eseguono l'operazione richiesta su ogni gruppo di entità in parallelo, il che è più veloce rispetto a effettuare chiamate separate per ogni singola entità perché comporta il sovraccarico di una sola chiamata di servizio. Se il batch utilizza più gruppi di entità, il lavoro per tutti i gruppi viene svolto in parallelo sul lato server.
Una chiamata batch put()
o delete()
potrebbe riuscire per alcune entità, ma non per altre.
Se è importante che la chiamata abbia esito positivo o negativo del tutto, utilizza
una transazione con tutte le
nello stesso gruppo di entità.