von

Google Firestore unter Go initialisieren

Um mich weiterzubilden und Probleme bei einem Hobbyprojekt zu umschiffen, habe ich mal versucht eine Google Firestore Datenbank mit Go abzufragen. Es mag an mir liegen, aber ich habe da kein wirklich einsteigerfreundliches Tutorial gefunden und habe mir meine funktionierende Abfrage letztlich über die Console zusammengestückelt. ;(

Ich habe das jetzt nochmal auf das Allernötigste zusammengekürzt, um dem einen oder anderen Interessierten Frust zu ersparen. Das nachfolgende Script baut eine Verbidnung mit Eurem Firestore auf und legt in der Sammlung „users“ ein Dokument mit ein paar Demodaten an.

package main

import (
	"fmt"

	"context"	
	firebase "firebase.google.com/go"
	"google.golang.org/api/option"
)

func main() {
	fmt.Println("Hello, World!")

	ctx := context.Background()	
	sa := option.WithCredentialsFile("./secretsFile.json")
	app, err := firebase.NewApp(ctx, nil, sa)	
	if err != nil {
		fmt.Println(err)
	}

	client, err := app.Firestore(ctx)
	if err != nil {
		fmt.Println(err)
	}

	response, timestamp, err := client.Collection("users").Add(ctx, map[string]interface{}{
			"first": "Ada",
			"last":  "Lovelace",
			"born":  1815,
	})
	if err != nil {
			fmt.Println("Failed adding alovelace: %v", err)
	}

	fmt.Println(response)
	fmt.Println(timestamp)
	fmt.Println("Bye!")

	defer client.Close()	
}

Benötigt wird nur noch ein Firestore (sollte ja eigentlich schon bereit stehen, wenn man bis auf diese Website gekommen ist ;)) und Autorisierungsdaten um mit diesem zu kommunizieren. In dem Skript sind diese in der secretsFile.json gespeichert. Das folgende Video zeigt wie man an diese Datei kommt. Es steht zwar Firebase drauf, aber da die Autorisierung für ganze Projekte erfolgt kommt man damit auch an den Firestore.

Viel Erfolg beim weiteren Experimentieren. 🙂

Steve Brauer

Ich bin ein diplomierter Wirtschaftsinformatiker und meine Tätigkeiten im Onlinemarketing begannen 2008 mit dem Management von Webprojekten bei der Schach&Matt GmbH. Nachdem ich Feuer für alle Facetten der Branche gefangen hatte machte ich mich 2009 mit r-evolve selbstständig und arbeite in Dresden.