gocloud.dev: gocloud.dev/mysql/awsmysql Index | Examples | Files

package awsmysql

import "gocloud.dev/mysql/awsmysql"

Package awsmysql provides connections to AWS RDS MySQL instances.


For mysql.Open, awsmysql registers for the scheme "awsmysql". The default URL opener will create a connection using the default credentials from the environment, as described in https://docs.aws.amazon.com/sdk-for-go/api/aws/session/. To customize the URL opener, or for more details on the URL format, see URLOpener.

See https://gocloud.dev/concepts/urls/ for background information.


// PRAGMA: This example is used on gocloud.dev; PRAGMA comments adjust how it is shown and can be ignored.
// PRAGMA: On gocloud.dev, add a blank import: _ "gocloud.dev/mysql/awsmysql"
// PRAGMA: On gocloud.dev, hide lines until the next blank line.
ctx := context.Background()

// Replace these with your actual settings.
db, err := mysql.Open(ctx,
if err != nil {
defer db.Close()

// Use database in your program.
db.ExecContext(ctx, "CREATE TABLE foo (bar INT);")



Package Files



const Scheme = "awsmysql"

Scheme is the URL scheme awsmysql registers its URLOpener under on mysql.DefaultMux.


var Set = wire.NewSet(
    wire.Struct(new(URLOpener), "CertSource"),

Set is a Wire provider set that provides a *sql.DB given *Params and an HTTP client.

type CertFetcher Uses

type CertFetcher = rds.CertFetcher

CertFetcher pulls the RDS CA certificates from Amazon's servers. The zero value will fetch certificates using the default HTTP client.

type CertPoolProvider Uses

type CertPoolProvider = rds.CertPoolProvider

A CertPoolProvider obtains a certificate pool that contains the RDS CA certificate.

type URLOpener Uses

type URLOpener struct {
    // CertSource specifies how the opener will obtain the RDS Certificate
    // Authority. If nil, it will use the default *rds.CertFetcher.
    CertSource rds.CertPoolProvider
    // TraceOpts contains options for OpenCensus.
    TraceOpts []ocsql.TraceOption

URLOpener opens RDS MySQL URLs like "awsmysql://user:password@myinstance.borkxyzzy.us-west-1.rds.amazonaws.com:3306/mydb".

func (*URLOpener) OpenMySQLURL Uses

func (uo *URLOpener) OpenMySQLURL(ctx context.Context, u *url.URL) (*sql.DB, error)

OpenMySQLURL opens a new RDS database connection wrapped with OpenCensus instrumentation.

Package awsmysql imports 13 packages (graph) and is imported by 2 packages. Updated 2019-08-06. Refresh now. Tools for package owners.