¿Cuáles son algunos ejemplos básicos de CRUD para Cloud Datastore usando Golang?

La documentación oficial hace un trabajo bastante bueno de explicar, primero las operaciones básicas como Get and Put, y luego entra en detalles acerca de que todo funciona. Le sugiero que mire el paquete del almacén de datos en goDoc. Para mí, los ejemplos de código suelen ser las mejores fuentes cuando se aprende a usar un nuevo paquete. Por supuesto, leer la API en goDoc ayuda, pero incluso un ejemplo de código pequeño y simple es como una imagen; Dice más de mil palabras.

Este es el ejemplo básico de Get / Put y sigue un paradigma bastante típico cuando se trata de varios almacenes de datos.

tipo Entidad struct {
Cadena de valor
}

func main () {
ctx: = context.Background ()

// Crear un cliente de almacén de datos. En una aplicación típica, crearía
// un único cliente que se reutiliza para cada operación del almacén de datos.
dsClient, err: = datastore.NewClient (ctx, “mi-proyecto”)
if err! = nil {
// Error de manejo.
}

k: = datastore.NameKey (“Entidad”, “stringID”, nil)
e: = nuevo (entidad)
si err: = dsClient.Get (ctx, k, e); err! = nil {
// Error de manejo.
}

antiguo: = e.Value
e.Value = “¡Hola, mundo!”

if _, err: = dsClient.Put (ctx, k, e); err! = nil {
// Error de manejo.
}

fmt.Printf (“Valor actualizado de% q a% q \ n”, antiguo, e.Value)
}

Esencialmente, crea un cliente de almacén de datos, que se utiliza en todas las operaciones posteriores, como una conexión de base de datos en otros idiomas, por ejemplo, PHP. Después de crear una clave y realizar la operación. En este caso, la operación Get utiliza un parámetro out , en lugar de devolver el resultado.

Simple y al grano.

Para ejecutar la biblioteca del cliente, primero debe configurar la autenticación.

// El inicio rápido del almacén de datos de muestra recupera una entidad del almacén de datos de Google Cloud.
paquete principal

importar (
“fmt”
“Iniciar sesión”

// Importa el paquete del cliente Google Cloud Datastore.
“cloud.google.com/go/datastore”
“golang.org/x/net/context”
)

escriba Task struct {
Cadena de descripción
}

func main () {
ctx: = context.Background ()

// Establezca su ID de proyecto de Google Cloud Platform.
projectID: = “YOUR_PROJECT_ID”

// Crea un cliente.
cliente, err: = datastore.NewClient (ctx, projectID)
if err! = nil {
log.Fatalf (“Error al crear el cliente:% v”, err)
}

// Establece el tipo para la nueva entidad.
kind: = “Tarea”
// Establece el nombre / ID para la nueva entidad.
nombre: = “sampletask1”
// Crea una instancia clave.
taskKey: = datastore.NameKey (kind, name, nil)

// Crea una instancia de tarea.
tarea: = Tarea {
Descripción: “Comprar leche”,
}

// Guarda la nueva entidad.
if _, err: = client.Put (ctx, taskKey, & task); err! = nil {log.Fatalf (“Error al guardar la tarea:% v”, err)
}

fmt.Printf (“% guardado v:% v \ n”, taskKey, task.Description)
}

Lea más en la documentación de referencia de API Go para la biblioteca de cliente de API de Google Cloud Datastore.

Fuente: Bibliotecas de cliente de Cloud Datastore | Documentación del almacén de datos en la nube
El | Google Cloud Platform