备份管理
引导式阅读
Java
备份管理
作者
C***
上架时间
2023-11-13 06:23:09

CBR服务备份管理示例

0. 简介

本示例配套的SDK版本为: 3.0.55

1. 简介

华为云提供了CBR服务端SDK,您可以直接集成服务端SDK来调用CBR的相关API,从而实现对CBR服务的快速操作。该示例展示了如何通过java版SDK对备份进行管理,其中包括增(创建备份),删(删除备份),查(查询备份)。

2. 开发前准备

  • 注册 华为云,并完成 实名认证
  • 已具备开发环境 ,支持Java JDK 1.8及其以上版本。
  • 已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥
  • 已获取CBR服务对应区域的项目ID,请在华为云控制台“我的凭证 > API凭证”页面上查看项目ID。具体请参见 API凭证

3. 安装SDK

您可以通过Maven方式获取和安装SDK,首先需要在您的操作系统中下载并安装Maven ,安装完成后您只需要在Java项目的pom.xml文件中加入相应的依赖项即可。

使用服务端SDK前,您需要安装“huaweicloud-sdk-core”和“huaweicloud-sdk-cbr”,具体的SDK版本号请参见 SDK开发中心

<dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-core</artifactId> <version>3.0.55</version> </dependency> <dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-cbr</artifactId> <version>3.0.55</version> </dependency>

4. 开始使用

4.1 导入依赖模块

import com.huaweicloud.sdk.cbr.v1.CbrClient; import com.huaweicloud.sdk.cbr.v1.model.CreateCheckpointRequest; import com.huaweicloud.sdk.cbr.v1.model.CreateCheckpointResponse; import com.huaweicloud.sdk.cbr.v1.model.DeleteBackupRequest; import com.huaweicloud.sdk.cbr.v1.model.DeleteBackupResponse; import com.huaweicloud.sdk.cbr.v1.model.ListBackupsRequest; import com.huaweicloud.sdk.cbr.v1.model.ListBackupsResponse; import com.huaweicloud.sdk.cbr.v1.model.ShowBackupRequest; import com.huaweicloud.sdk.cbr.v1.model.ShowBackupResponse; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ClientRequestException; import com.huaweicloud.sdk.core.exception.ServerResponseException; import com.huaweicloud.sdk.core.http.HttpConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory;

4.2 初始化认证信息

BasicCredentials credentials = new BasicCredentials() .withAk(ak) .withSk(sk); }

相关参数说明如下所示:

  • ak:华为云账号Access Key。
  • sk:华为云账号Secret Access Key 。

4.3 初始化CBR服务的客户端

cbrClient cbrClient = cbrClient.newBuilder() .withCredential(credentials) .withEndpoint("${cbr_endpoint}") .withHttpConfig(config) .build();

相关参数说明如下所示:

Credential: 用户认证信息,见4.2的初始化认证信息

Endpoint: CBR服务域名,当前CBR服务支持的region信息见 地区和终端节点信息

HttpConfig: 客户端属性

4.4 配置请求参数

以创建备份为例:

private static CreateCheckpointRequest createCheckpointRequest() { return new CreateCheckpointRequest() .withBody(vaultBackupReq -> vaultBackupReq .withCheckpoint(checkpoint -> checkpoint .withVaultId("${vault_id}") .withParameters(parameters -> parameters .withAutoTrigger(false) .withIncremental(false) .withName("demo") ) ) ); }

相关demo见 5. SDK demo代码解析

4.5 发送请求

以创建备份为例:

CreateCheckpointResponse response = cbrClient.createCheckpoint(request);

##5. SDK demo代码解析

5.1 创建备份接口

demo请见CbrBackupsDemo.createBackup()方法

5.1.1 请求参数说明

private static CreateCheckpointRequest createCheckpointRequest() { return new CreateCheckpointRequest() .withBody(vaultBackupReq -> vaultBackupReq .withCheckpoint(checkpoint -> checkpoint .withVaultId("${vault_id}") .withParameters(parameters -> parameters .withAutoTrigger(false) .withIncremental(false) .withName("demo") ) ) ); }

5.1.2 发送请求

public void createBackup(CbrClient cbrClient) { CreateCheckpointRequest request = createCheckpointRequest(); try { CreateCheckpointResponse response = cbrClient.createCheckpoint(request); LOGGER.info(response.toString()); } catch (ClientRequestException e) { LOGGER.error(String.valueOf(e.getHttpStatusCode())); LOGGER.error(e.toString()); } catch (ServerResponseException e) { LOGGER.error(String.valueOf(e.getHttpStatusCode())); LOGGER.error(e.getMessage()); } }

5.1.3 接口及参数说明

请见 创建备份接口

5.2 查询单个备份详情

具体demo见CbrBackupsDemo.getBackup()方法

5.2.1 构造请求参数

ShowBackupRequest request = new ShowBackupRequest().withBackupId("${backup_id}");

5.2.2 发送请求

ShowBackupResponse response = cbrClient.showBackup(request);

5.2.3 接口及参数说明

请见 查询单个备份详情接口

5.3 查询所有备份详情

具体demo见CbrBackupsDemo.listBackup()方法

5.3.1 构造请求参数

//创建请求 ListBackupsRequest request = new ListBackupsRequest();

5.3.2 发送请求

ListBackupsResponse response = cbrClient.listBackups(request);

5.3.3 接口及参数说明

请见 查询所有备份详情接口

5.4 删除备份

具体demo见CbrBackupsDemo.deleteBackup()方法

5.4.1 构造请求参数

//创建请求 DeleteBackupRequest request = new DeleteBackupRequest().withBackupId("${backup_id}");

5.4.2 发送请求

DeleteBackupResponse response = cbrClient.deleteBackup(request);

5.4.3 接口及参数说明

请见 删除备份接口

6. FAQ

暂无

7. 参考

更多信息请参考 CBR服务文档

8. 修订记录

发布日期 文档版本 修订说明
2021/10/28 1.0 文档首次发布