Il pacchetto cloudsql espone l'accesso ai database Google Cloud SQL.
Questo pacchetto non funziona nell'"ambiente flessibile" di App Engine.
Questo pacchetto è destinato ai driver MySQL per creare connessioni specifiche di App Engine. Le applicazioni devono utilizzare questo pacchetto tramite database/sql: Seleziona un driver MySQL Go puro che supporti questo pacchetto e utilizza sql.Open con il protocollo "cloudsql" e un indirizzo dell'istanza Cloud SQL.
Un driver Go MySQL che è stato testato in modo da funzionare bene con Cloud SQL è 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")
Un altro driver che funziona bene con Cloud SQL è il driver mymysql:
import "database/sql" import _ "github.com/ziutek/mymysql/godrv" db, err := sql.Open("mymysql", "cloudsql:instance-name*dbname/user/password")
Utilizzando uno di questi driver, puoi eseguire una query SQL standard. Questo esempio presuppone che ci sia una tabella denominata "utenti" con colonne "first_name" e "last_name":
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) }
Funzioni
Selettore funzione
Dial si connette all'istanza Cloud SQL denominata.