Quello che hai proposto sarebbe davvero il modo più veloce per sapere se la tua entità esiste. L'unica cosa che ti rallenta è il tempo necessario per recuperare e deserializzare la tua entità. Se la tua entità è grande, questo può rallentare.
SE questa azione (verifica dell'esistenza) è un collo di bottiglia principale per te e hai grandi entità, potresti voler eseguire il rollover del tuo sistema di controllo usando due entità - prima avresti la tua entità esistente con i dati, e una seconda entità che memorizza il riferimento all'entità reale o forse un'entità vuota in cui la chiave è solo una variazione della chiave dell'entità originale che è possibile calcolare. È possibile verificare rapidamente l'esistenza utilizzando la seconda entità e quindi recuperare la prima entità solo se i dati sono necessari.
Il modo migliore in cui penso sarebbe solo quello di progettare le chiavi in modo che sappiano che non ci sarebbero duplicati o che le operazioni sono idempotenti, così che anche se una vecchia entità venisse sovrascritta, non avrebbe importanza.
ottenere un'entità per chiave non restituirà mai un errore, restituisce Nessuno. – aschmid00
In java 'get' genera un'eccezione quando l'entità non viene trovata: https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/DatastoreService#get(com.google .appengine.api.datastore.Key) –
ok non lo sapevo. – aschmid00