# huaweicloud-rdsforsqlserver-java **Repository Path**: HuaweiCloudDeveloper/huaweicloud-rdsforsqlserver-java ## Basic Information - **Project Name**: huaweicloud-rdsforsqlserver-java - **Description**: 新增 SDK RdsForSqlserver产品代码示例上架申请 备份相关代码场景 1.查询备份策略 2.设置备份策略 3.查看备份列表 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-10-25 - **Last Updated**: 2023-11-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 0. 版本说明 本示例配套的SDK版本为:3.1.5 ## 1. 简介 云数据库RDS(Relational Database Service,简称RDS)是一种基于云计算平台的稳定可靠、弹性伸缩、便捷管理的在线云数据库服务。云数据库RDS支持以下引擎: 1.MySQL 2.PostgreSQL 3.SQL Server 云数据库RDS服务具有完善的性能监控体系和多重安全防护措施,并提供了专业的数据库管理平台, 让用户能够在云上轻松的进行设置和扩展云数据库。通过云数据库RDS服务的管理控制台,用户无需编程就可以执行所有必需任务,简化运营流程,减少日常运维工作量,从而专注于开发应用和业务发展。 ## 2. 前置条件 1.已 [注册](https://reg.huaweicloud.com/registerui/cn/register.html?locale=zh-cn#/register) 华为云,并完成 [实名认证](https://account.huaweicloud.com/usercenter/?region=cn-north-4#/accountindex/realNameAuth) 。 2.获取华为云开发工具包(SDK),您也可以查看安装JAVA SDK。 3.已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 [访问密钥](https://support.huaweicloud.com/usermanual-ca/zh-cn_topic_0046606340.html) 。 4.已具备开发环境 ,支持Java JDK 1.8及其以上版本。 ## 3. 安装SDK 您可以通过Maven方式获取和安装SDK,首先需要在您的操作系统中下载并安装Maven ,安装完成后您只需要在Java项目的pom.xml文件中加入相应的依赖项即可。 具体的SDK版本号请参见 [SDK开发中心](https://sdkcenter.developer.huaweicloud.com?language=java) 。 ```xml com.huaweicloud.sdk huaweicloud-sdk-rds 3.1.5 ``` ## 4.代码示例 以下代码展示如何使用SDK创建实例: ```java /* * Copyright (c) Huawei Technologies Co., Ltd. 2022-2022. All rights reserved. */ package com.huaweicloud.rds.sdk.demo; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.rds.v3.RdsClient; import com.huaweicloud.sdk.rds.v3.model.BackupPolicy; import com.huaweicloud.sdk.rds.v3.model.ListBackupsRequest; import com.huaweicloud.sdk.rds.v3.model.ListBackupsResponse; import com.huaweicloud.sdk.rds.v3.model.SetBackupPolicyRequest; import com.huaweicloud.sdk.rds.v3.model.SetBackupPolicyRequestBody; import com.huaweicloud.sdk.rds.v3.model.SetBackupPolicyResponse; import com.huaweicloud.sdk.rds.v3.model.ShowBackupPolicyRequest; import com.huaweicloud.sdk.rds.v3.model.ShowBackupPolicyResponse; import com.huaweicloud.sdk.rds.v3.region.RdsRegion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * rds备份相关示例代码 * * @since 2022-10-17 */ public class BackupDemo { private static final Logger logger = LoggerFactory.getLogger(BackupDemo.class.getName()); public static void main(String[] args) { String ak = ""; String sk = ""; String instanceId = ""; ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); RdsClient client = RdsClient.newBuilder() .withCredential(auth) .withRegion(RdsRegion.CN_EAST_2) .build(); // 查看自动备份策略 showBackupPolicy(client, instanceId); // 设置自动备份策略 setBackupPolicy(client, instanceId); // 查询备份列表 要根据实际设置的时间 实际生成备份文件之后才可以看到对应的备份文件 listBackups(client, instanceId); } private static void showBackupPolicy(RdsClient client, String instanceId) { ShowBackupPolicyRequest request = new ShowBackupPolicyRequest(); request.withInstanceId(instanceId); try { ShowBackupPolicyResponse response = client.showBackupPolicy(request); logger.info(response.toString()); } catch (ConnectionException e) { logger.error("ConnectionException", e); } catch (RequestTimeoutException e) { logger.error("RequestTimeoutException ", e); } catch (ServiceResponseException e) { logger.error("httpStatusCode: {}, errorCode: {}, errorMsg: {}", e.getHttpStatusCode(), e.getErrorCode(), e.getErrorMsg()); } } private static void setBackupPolicy(RdsClient client, String instanceId) { SetBackupPolicyRequest request = new SetBackupPolicyRequest(); request.withInstanceId(instanceId); SetBackupPolicyRequestBody body = new SetBackupPolicyRequestBody(); BackupPolicy backupPolicyBody = new BackupPolicy(); backupPolicyBody.withKeepDays(7) // your keepDays .withStartTime("02:00-03:00") // your startTime .withPeriod("1,2");// your period body.withBackupPolicy(backupPolicyBody); request.withBody(body); try { SetBackupPolicyResponse response = client.setBackupPolicy(request); logger.info(response.toString()); } catch (ConnectionException e) { logger.error("ConnectionException", e); } catch (RequestTimeoutException e) { logger.error("RequestTimeoutException ", e); } catch (ServiceResponseException e) { logger.error("httpStatusCode: {}, errorCode: {}, errorMsg: {}", e.getHttpStatusCode(), e.getErrorCode(), e.getErrorMsg()); } } private static void listBackups(RdsClient client, String instanceId) { ListBackupsRequest request = new ListBackupsRequest(); request.withInstanceId(instanceId); try { ListBackupsResponse response = client.listBackups(request); logger.info(response.toString()); } catch (ConnectionException e) { logger.error("ConnectionException", e); } catch (RequestTimeoutException e) { logger.error("RequestTimeoutException ", e); } catch (ServiceResponseException e) { logger.error("httpStatusCode: {}, errorCode: {}, errorMsg: {}", e.getHttpStatusCode(), e.getErrorCode(), e.getErrorMsg()); } } } ``` ## 5.接口及参数说明 请见 [查看自动备份策略API](https://support.huaweicloud.com/api-rds/rds_09_0003.html) 您可以在 [API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=RDS&api=ShowBackupPolicy) 中直接运行调试该接口。 请见 [设置自动备份策略API](https://support.huaweicloud.com/api-rds/rds_09_0002.html) 您可以在 [API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=RDS&api=SetBackupPolicy) 中直接运行调试该接口。 请见 [查询备份列表API](https://support.huaweicloud.com/api-rds/rds_09_0005.html) 您可以在 [API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=RDS&api=ListBackups) 中直接运行调试该接口。 ## 修订记录 | 发布日期 | 文档版本 | 修订说明 | |:----------:| :------: | :----------: | | 2022-10-20 | 1.0 | 文档首次发布 |