Documentation
¶
Overview ¶
Package rdsmysql provides connections to AWS RDS MySQL instances.
Example ¶
package main
import (
"context"
"github.com/google/go-cloud/mysql/rdsmysql"
)
func main() {
ctx := context.Background()
db, cleanup, err := rdsmysql.Open(ctx, new(rdsmysql.CertFetcher), &rdsmysql.Params{
// Replace these with your actual settings.
Endpoint: "example01.xyzzy.us-west-1.rds.amazonaws.com",
User: "myrole",
Password: "swordfish",
Database: "test",
})
if err != nil {
panic(err)
}
defer cleanup()
// Use database in your program.
db.ExecContext(ctx, "CREATE TABLE foo (bar INT);")
}
Output:
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Set = wire.NewSet( Open, CertFetcher{}, wire.Bind((*CertPoolProvider)(nil), (*CertFetcher)(nil)), )
Set is a Wire provider set that provides a *sql.DB given *Params and an HTTP client.
Functions ¶
Types ¶
type CertFetcher ¶
type CertFetcher struct {
// Client is the HTTP client used to make requests. If nil, then
// http.DefaultClient is used.
Client *http.Client
}
CertFetcher pulls the RDS CA certificates from Amazon's servers. The zero value will fetch certificates using the default HTTP client.
func (*CertFetcher) Fetch ¶
func (cf *CertFetcher) Fetch(ctx context.Context) ([]*x509.Certificate, error)
Fetch fetches the RDS CA certificates. It is safe to call from multiple goroutines.
func (*CertFetcher) RDSCertPool ¶
RDSCertPool fetches the RDS CA certificates and places them into a pool. It is safe to call from multiple goroutines.
type CertPoolProvider ¶
A CertPoolProvider obtains a certificate pool that contains the RDS CA certificate.
type Params ¶
type Params struct {
// Endpoint is the host/port of the RDS database, like
// "myinstance.borkxyzzy.us-west-1.rds.amazonaws.com:3306".
// If no port is given, then 3306 is assumed.
Endpoint string
// User is the database user to connect as.
User string
// Password is the database user password to use.
Password string
// Database is the MySQL database name to connect to.
Database string
}
Params specifies how to connect to an RDS database.
Click to show internal directories.
Click to hide internal directories.