修改数据库自动备份策略示例代码
引导式阅读
Go
修改数据库自动备份策略示例代码
作者
c***r
上架时间
2023-11-13 09:26:41

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开发中心

go get -u github.com/huaweicloud/huaweicloud-sdk-go-v3

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 中直接运行调试该接口。

修订记录

发布日期 文档版本 修订说明
2022-10-20 1.0 文档首次发布