GaussDB​数据库能力-GaussDB备份相关示例代码


风晓
风晓 2024-01-14 09:46:32 50484 赞同 0 反对 0
分类: 资源 标签: 国产数据库
GaussDB​数据库能力-GaussDB备份相关示例代码

版本说明:本示例配套的SDK版本为:3.0.89

1. 简介

GaussDB是基于华为主导的openGauss生态推出的企业级分布式关系型数据库。该产品具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+的扩展能力,PB级海量存储。同时拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务。本示例展示如何通过java版本的SDK方式对备份操作的示例代码。

2. 前置条件

1)已 注册 华为云,并完成 实名认证 。

2)获取华为云开发工具包(SDK),您也可以查看安装JAVA SDK。

3)已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥 。

4)已具备开发环境 ,支持Java JDK 1.8及其以上版本。

3. 安装SDK

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

具体的SDK版本号请参见 SDK开发中心 。

<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-gaussdbforopengauss</artifactId>
<version>3.0.89</version>
</dependency>

4.代码示例

GaussDB备份相关示例代码

/* * Copyright (c) Huawei Technologies Co., Ltd. 2022-2022. All rights reserved. */
package com.huaweicloud.gaussdbforopengauss.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.gaussdbforopengauss.v3.GaussDBforopenGaussClient;import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.BackupPolicy;import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.ListBackupsRequest;import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.ListBackupsResponse;import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.SetBackupPolicyRequest;import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.SetBackupPolicyRequestBody;import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.SetBackupPolicyResponse;import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.ShowBackupPolicyRequest;import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.ShowBackupPolicyResponse;import com.huaweicloud.sdk.gaussdbforopengauss.v3.region.GaussDBforopenGaussRegion;import org.slf4j.Logger;import org.slf4j.LoggerFactory;
/** * GaussDB备份相关示例代码 */public class BackupDemo { private static final Logger logger = LoggerFactory.getLogger(BackupDemo.class.getName());
public static void main(String[] args) { String ak = "<YOUR AK>"; String sk = "<YOUR SK>"; String instanceId = "<YOUR INSTANCE_ID>";
ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk);
GaussDBforopenGaussClient client = GaussDBforopenGaussClient.newBuilder() .withCredential(auth) .withRegion(GaussDBforopenGaussRegion.CN_NORTH_4) .build();
// 查看自动备份策略 showBackupPolicy(client, instanceId);
// 设置自动备份策略 BackupPolicy backupPolicyBody = new BackupPolicy(); backupPolicyBody.withKeepDays(7) .withStartTime("<START_TIME>") .withPeriod("<PERIOD>") .withDifferentialPeriod("<DIFFERENTIAL_PERIOD>"); setBackupPolicy(client, instanceId, backupPolicyBody);
// 查询备份列表 listBackups(client, instanceId); }
private static void showBackupPolicy(GaussDBforopenGaussClient 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(GaussDBforopenGaussClient client, String instanceId, BackupPolicy backupPolicyBody) { SetBackupPolicyRequest request = new SetBackupPolicyRequest(); request.withInstanceId(instanceId); SetBackupPolicyRequestBody body = new SetBackupPolicyRequestBody(); 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(GaussDBforopenGaussClient 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()); } }
}

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
桌面通用(全架构)【在双系统环境下隐藏Windows启动菜单】操作指南  2065
银河麒麟桌面操作系统V10(SP1)2203-如何进行远程桌面互访?  1998
银河麒麟桌面操作系统【保留数据盘重装系统】  1808
麒麟系统各种原因开不了机解决(合集)  1598
桌面通用(全架构)【rpm包转成deb包】操作方法  932
银河麒麟桌面操作系统 V10-SP1 双系统安装 efi 分区问题  916
统信系统安装(合集)  854
统信桌面专业版【手动分区安装UOS系统】介绍  846
统启动异常几种类型(initramfs 模式)  689
最近下载排行榜
桌面通用(全架构)【在双系统环境下隐藏Windows启动菜单】操作指南 0
银河麒麟桌面操作系统V10(SP1)2203-如何进行远程桌面互访? 0
银河麒麟桌面操作系统【保留数据盘重装系统】 0
麒麟系统各种原因开不了机解决(合集) 0
桌面通用(全架构)【rpm包转成deb包】操作方法 0
银河麒麟桌面操作系统 V10-SP1 双系统安装 efi 分区问题 0
统信系统安装(合集) 0
统信桌面专业版【手动分区安装UOS系统】介绍 0
统启动异常几种类型(initramfs 模式) 0
作者收入月榜
1

prtyaa 收益393.72元

2

zlj141319 收益221.27元

3

1843880570 收益214.2元

4

IT-feng 收益213.03元

5

风晓 收益208.24元

6

777 收益172.82元

7

Fhawking 收益106.6元

8

信创来了 收益105.89元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!