Dans Datastore, les objets de données sont appelés entités. Chacune de ces entités possède un genre spécifique qui la classe dans une catégorie pour les besoins des requêtes. Par exemple, si vous écrivez une application de ressources humaines, vous pouvez représenter chaque employé avec une entité du genre Employee
. Sachez que les valeurs de données des entités apparaissent sous la forme de propriétés.
Pour en savoir plus sur les entités, consultez le document conceptuel Entités, propriétés et clés.
Créer des entités et définir les propriétés
Dans Go, pour créer une entité, construisez une instance d'une structure Go, renseignez ses champs, puis appelez datastore.Put
pour l'enregistrer dans Datastore. Seuls les champs exportés (commençant par une lettre majuscule) seront enregistrés dans Datastore. Vous pouvez spécifier le nom de clé de l'entité en transmettant un argument stringID
non vide à datastore.NewKey
.
L'exemple suivant crée une entité du genre Employee
, renseigne ses valeurs de propriété et l'enregistre dans Datastore :
Le type Employee
déclare quatre champs pour le modèle de données : FirstName
, LastName
, HireDate
et AttendedHRTraining
.
Si vous fournissez un nom de clé vide ou utilisez datastore.NewIncompleteKey
, Datastore génère automatiquement un ID numérique pour la clé de l'entité :
Récupérer des entités
Pour récupérer une entité identifiée par une clé donnée, transmettez l'élément *datastore.Key
en tant qu'argument à la fonction datastore.Get
. Vous pouvez générer l'élément *datastore.Key
à l'aide de la fonction datastore.NewKey
.
datastore.Get
insère une instance de la structure Go appropriée.
Mettre à jour des entités
Pour mettre à jour une entité existante, modifiez les attributs de la structure, puis appelez datastore.Put
. Les données écrasent l'entité existante. L'objet entier est envoyé à Datastore à chaque appel de datastore.Put
.
Supprimer des entités
Selon la clé d'une entité, vous pouvez supprimer l'entité à l'aide de la fonction datastore.Delete
:
Suppression groupée d'entités
Si vous devez supprimer un grand nombre d'entités, nous vous recommandons d'utiliser Dataflow pour supprimer ces entités de manière groupée.
Utiliser des opérations par lots
Vous pouvez utiliser les opérations par lot suivantes si vous souhaitez agir sur plusieurs entités avec un seul appel Datastore :
Voici un exemple d'appel par lot :
Les opérations par lot n'entraînent pas de modification des coûts. Vous serez facturé pour chaque clé employée dans ces opérations, que cette clé existe ou non. La taille des entités impliquées dans une opération n'a pas d'incidence sur les coûts.