Paket google.golang.org/appengine/cloudsql (v1.6.8)

Das Paket "cloudsql" ermöglicht Zugriff auf SQL-Datenbanken von Google Cloud.

Dieses Paket kann nicht in der flexiblen Umgebung von App Engine verwendet werden.

Das Paket ist für MySQL-Treiber zum Herstellen App Engine-spezifischer Verbindungen gedacht. Anwendungen sollten dieses Paket über database/sql verwenden: Wählen Sie einen reinen Go MySQL-Treiber aus, der dieses Paket unterstützt, und verwenden Sie sql.Open mit dem "cloudsql"-Protokoll sowie der Adresse der Cloud SQL-Instanz.

Ein für die Verwendung mit Cloud SQL getesteter Go MySQL-Treiber ist "go-sql-driver":

import "database/sql"
import _ "github.com/go-sql-driver/mysql"

db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname")

"mymysql" ist ein weiterer mit Cloud SQL kompatibler Treiber:

import "database/sql"
import _ "github.com/ziutek/mymysql/godrv"

db, err := sql.Open("mymysql", "cloudsql:instance-name*dbname/user/password")

Mit diesen beiden Treibern können Sie eine Standard-SQL-Abfrage ausführen. Im folgenden Beispiel wird von einer Tabelle namens "users" mit den Spalten "first_name" und "last_name" ausgegangen:

rows, err := db.Query("SELECT first_name, last_name FROM users")
if err != nil {
    log.Errorf(ctx, "db.Query: %v", err)
}
defer rows.Close()

for rows.Next() {
    var firstName string
    var lastName string
    if err := rows.Scan(&firstName, &lastName); err != nil {
        log.Errorf(ctx, "rows.Scan: %v", err)
        continue
    }
    log.Infof(ctx, "First: %v - Last: %v", firstName, lastName)
}
if err := rows.Err(); err != nil {
    log.Errorf(ctx, "Row error: %v", err)
}

Funktionen

func Dial

func Dial(instance string) (net.Conn, error)

"Dial" stellt eine Verbindung mit der benannten Cloud SQL-Instanz her.