1. 简介
云数据库RDS(Relational Database Service,简称RDS)是一种基于云计算平台的稳定可靠、弹性伸缩、便捷管理的在线云数据库服务。云数据库RDS支持以下引擎:
1.MySQL
2.PostgreSQL
3.SQL Server
云数据库RDS服务具有完善的性能监控体系和多重安全防护措施,并提供了专业的数据库管理平台, 让用户能够在云上轻松的进行设置和扩展云数据库。通过云数据库RDS服务的管理控制台,用户无需编程就可以执行所有必需任务,简化运营流程,减少日常运维工作量,从而专注于开发应用和业务发展。
2. 前置条件
1.已 注册 华为云,并完成 实名认证 。
2.获取华为云开发工具包(SDK),您也可以查看安装GO SDK。
3.已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥 。
4.已具备开发环境 ,支持GO 1.16及其以上版本。
3. 安装SDK
具体的SDK版本号请参见 SDK开发中心 。
Copied!
go get -u github.com/huaweicloud/huaweicloud-sdk-go-v3
4.代码示例
以下代码展示如何使用SDK创建实例:
Copied!
package main
import (
rdsRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/rds/v3/region"
"fmt"
"os"
"log"
coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
rds "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/rds/v3"
rdsModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/rds/v3/model"
)
type BackupDemo struct{}
func NewBackupDemoDefault() BackupDemo {
b := BackupDemo{}
return b
}
func main() {
ak := os.Getenv("HUAWEICLOUD_SDK_AK")
sk := os.Getenv("HUAWEICLOUD_SDK_SK")
instanceId := "<YOUR INSTANCE_ID>"
auth := coreBasic.NewCredentialsBuilder().WithAk(ak).WithSk(sk).Build()
client := *rds.NewRdsClient(rds.RdsClientBuilder().
WithCredential(auth).
WithRegion(rdsRegion.CN_EAST_2).
Build())
backupDemoShowBackupPolicy(client, instanceId)
backupDemoSetBackupPolicy(client, instanceId)
backupDemoListBackups(client, instanceId)
}
func backupDemoShowBackupPolicy(client rds.RdsClient, instanceId string) {
request := rdsModel.ShowBackupPolicyRequest{}
request.InstanceId = instanceId
response, err := client.ShowBackupPolicy(&request)
if err != nil {
fmt.Println(err)
return
}
log.Println(response.String())
}
func backupDemoSetBackupPolicy(client rds.RdsClient, instanceId string) {
request := rdsModel.SetBackupPolicyRequest{}
request.InstanceId = instanceId
body := rdsModel.SetBackupPolicyRequestBody{}
backupPolicyBody := rdsModel.BackupPolicy{}
backupPolicyStartTimeParam := "02:00-03:00"
backupPolicyPeriodParam := "1,2"
backupPolicyBody.KeepDays = 7
backupPolicyBody.StartTime = &backupPolicyStartTimeParam
backupPolicyBody.Period = &backupPolicyPeriodParam
body.BackupPolicy = &backupPolicyBody
request.Body = &body
response, err := client.SetBackupPolicy(&request)
if err != nil {
fmt.Println(err)
return
}
log.Println(response.String())
}
func backupDemoListBackups(client rds.RdsClient, instanceId string) {
request := rdsModel.ListBackupsRequest{}
request.InstanceId = instanceId
response, err := client.ListBackups(&request)
if err != nil {
fmt.Println(err)
return
}
log.Println(response.String())
}
修订记录
发布日期 |
文档版本 |
修订说明 |
2022-10-20 |
1.0 |
文档首次发布 |
0. 版本说明
本示例基于华为云SDK版本开发。
1. 简介
云数据库RDS(Relational Database Service,简称RDS)是一种基于云计算平台的稳定可靠、弹性伸缩、便捷管理的在线云数据库服务。云数据库RDS支持以下引擎:
1.MySQL
2.PostgreSQL
3.SQL Server
云数据库RDS服务具有完善的性能监控体系和多重安全防护措施,并提供了专业的数据库管理平台, 让用户能够在云上轻松的进行设置和扩展云数据库。通过云数据库RDS服务的管理控制台,用户无需编程就可以执行所有必需任务,简化运营流程,减少日常运维工作量,从而专注于开发应用和业务发展。
2. 前置条件
1.已 注册 华为云,并完成 实名认证 。
2.获取华为云开发工具包(SDK),您也可以查看安装GO SDK。
3.已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥 。
4.已具备开发环境 ,支持GO 1.16及其以上版本。
3. 安装SDK
具体的SDK版本号请参见 SDK开发中心 。
4.代码示例
以下代码展示如何使用SDK创建实例:
/* Copyright (c) Huawei Technologies Co., Ltd. 2022-2022. All rights reserved. */ package main import ( rdsRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/rds/v3/region" "fmt" "os" "log" coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" rds "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/rds/v3" rdsModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/rds/v3/model" ) /* rds备份相关示例代码 @since 2022-10-17 */ type BackupDemo struct{} func NewBackupDemoDefault() BackupDemo { b := BackupDemo{} return b } func main() { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") instanceId := "<YOUR INSTANCE_ID>" auth := coreBasic.NewCredentialsBuilder().WithAk(ak).WithSk(sk).Build() client := *rds.NewRdsClient(rds.RdsClientBuilder(). WithCredential(auth). WithRegion(rdsRegion.CN_EAST_2). Build()) // 查看自动备份策略 backupDemoShowBackupPolicy(client, instanceId) // 设置自动备份策略 backupDemoSetBackupPolicy(client, instanceId) // 查询备份列表 要根据实际设置的时间 实际生成备份文件之后才可以看到对应的备份文件 backupDemoListBackups(client, instanceId) } func backupDemoShowBackupPolicy(client rds.RdsClient, instanceId string) { request := rdsModel.ShowBackupPolicyRequest{} request.InstanceId = instanceId response, err := client.ShowBackupPolicy(&request) if err != nil { fmt.Println(err) return } log.Println(response.String()) } func backupDemoSetBackupPolicy(client rds.RdsClient, instanceId string) { request := rdsModel.SetBackupPolicyRequest{} request.InstanceId = instanceId body := rdsModel.SetBackupPolicyRequestBody{} backupPolicyBody := rdsModel.BackupPolicy{} backupPolicyStartTimeParam := "02:00-03:00" backupPolicyPeriodParam := "1,2" backupPolicyBody.KeepDays = 7 backupPolicyBody.StartTime = &backupPolicyStartTimeParam backupPolicyBody.Period = &backupPolicyPeriodParam // your period body.BackupPolicy = &backupPolicyBody request.Body = &body response, err := client.SetBackupPolicy(&request) if err != nil { fmt.Println(err) return } log.Println(response.String()) } func backupDemoListBackups(client rds.RdsClient, instanceId string) { request := rdsModel.ListBackupsRequest{} request.InstanceId = instanceId response, err := client.ListBackups(&request) if err != nil { fmt.Println(err) return } log.Println(response.String()) }
5.接口及参数说明
请见 查看自动备份策略API 您可以在 API Explorer 中直接运行调试该接口。
请见 设置自动备份策略API 您可以在 API Explorer 中直接运行调试该接口。
请见 查询备份列表API 您可以在 API Explorer 中直接运行调试该接口。
修订记录