# 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 | 文档首次发布 |