You need to enable JavaScript to run this app.
导航

代码示例

最近更新时间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})

创建 MySQL 实例

关于下述 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
子网 IDsubnet-****
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)

}

查询 MySQL 实例信息

关于下述 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)

}