最近更新时间:2022.11.25 21:46:19
首次发布时间:2022.10.18 22:19:40
本文介绍 MySQL Go SDK 的代码示例供您参考。
使用 Go SDK 调用 MySQL 接口时,默认无超时时间设置。 您可以在初始化客户端时,通过 WithHTTPClient(&http.Client{Timeout: <超时时间> * time.Second})
来指定客户端的请求超时时间,若未在该时间内完成,请求即会终止并报超时错误。例如,您可以通过如下代码将客户端的请求超时时间设置为 10 秒。
config = volcengine.NewConfig().WithCredentials(credentials.NewStaticCredentials(ak, sk, "")). WithRegion(region).WithHTTPClient(&http.Client{Timeout: 10 * time.Second})
关于下述 SDK 代码中所使用参数的定义、取值范围等信息,请参见 CreateDBInstance。
本示例中所创建的 MySQL 实例配置如下:
实例名称 | Your Instance Name |
---|---|
地域 | beijing |
可用区 | cn-beijing-a |
数据库类型 | MySQL |
数据库版本 | MySQL_Community_5_7 |
实例类型 | HA,高可用版 |
实例规格 | rds.mysql.1c2g |
实例存储类型 | LocalSSD |
实例存储空间 | 100 GB |
私有网络 | vpc-**** |
创建实例数量 | 1 |
高权用户账号名称 | **** |
高权用户账号密码 | **** |
计费类型 | 预付费(包年包月) |
是否自动续费 | 是 |
预付费购买周期 | 月 |
购买时长 | 1 |
项目名称 | default |
子网 ID | subnet-**** |
package main import ( "fmt" "github.com/volcengine/volcengine-go-sdk/service/rdsmysql" "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/volcengine/volcengine-go-sdk/volcengine/credentials" "github.com/volcengine/volcengine-go-sdk/volcengine/session" "os" ) func main() { var ( ak string sk string region string config *volcengine.Config sess *session.Session client *rdsmysql.RDSMYSQL resp *rdsmysql.CreateDBInstanceOutput err error ) ak = "Your AK" sk = "Your SK" region = "Your Region" config = volcengine.NewConfig().WithCredentials(credentials.NewStaticCredentials(ak, sk, "")). WithRegion(region) sess, err = session.NewSession(config) if err != nil { fmt.Printf("Failed to create session, err: %v\n", err) os.Exit(1) } client = rdsmysql.New(sess) newStr := func(s string) *string { return &s } newInt := func(i int32) *int32 { return &i } newBool := func(b bool) *bool { return &b } resp, err = client.CreateDBInstance(&rdsmysql.CreateDBInstanceInput{ InstanceName: newStr("Your Instance Name"), Region: newStr("beijing"), Zone: newStr("cn-beijing-a"), DBEngine: newStr("MySQL"), DBEngineVersion: newStr("MySQL_Community_5_7"), InstanceType: newStr("HA"), InstanceSpecName: newStr("rds.mysql.1c2g"), StorageType: newStr("LocalSSD"), StorageSpaceGB: newInt(100), VpcID: newStr("vpc-****"), Number: newInt(1), SuperAccountName: newStr("****"), SuperAccountPassword: newStr("****"), ChargeType: newStr("Prepaid"), AutoRenew: newBool(true), PrepaidPeriod: newStr("Month"), UsedTime: newInt(1), ProjectName: newStr("default"), SubnetId: newStr("subnet-****"), }) if err != nil { fmt.Printf("Error when calling RDSMYSQLApi->CreateDBInstance, err: %v\n", err) os.Exit(1) } fmt.Println(resp) }
关于下述 SDK 请求中所使用参数的定义、取值范围等信息,请参见 DescribeDBInstance。
package main import ( "fmt" "github.com/volcengine/volcengine-go-sdk/service/rdsmysql" "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/volcengine/volcengine-go-sdk/volcengine/credentials" "github.com/volcengine/volcengine-go-sdk/volcengine/session" "os" ) func main() { var ( ak string sk string region string config *volcengine.Config sess *session.Session client *rdsmysql.RDSMYSQL resp *rdsmysql.DescribeDBInstanceOutput err error ) ak = "Your AK" sk = "Your SK" region = "Your Region" config = volcengine.NewConfig().WithCredentials(credentials.NewStaticCredentials(ak, sk, "")). WithRegion(region) sess, err = session.NewSession(config) if err != nil { fmt.Printf("Failed to create session, err: %v\n", err) os.Exit(1) } client = rdsmysql.New(sess) newStr := func(s string) *string { return &s } resp, err = client.DescribeDBInstance(&rdsmysql.DescribeDBInstanceInput{ InstanceId: newStr("mysql-****"), }) if err != nil { fmt.Printf("Error when calling RDSMYSQLApi->DescribeDBInstance, err: %v\n", err) os.Exit(1) } fmt.Println(resp) }