<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-gaussdbforopengauss</artifactId>
<version>3.0.89</version>
</dependency>
/*
* 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.ListConfigurationsRequest;
import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.ListConfigurationsResponse;
import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.OpenGaussModifyInstanceConfigurationRequest;
import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.ShowInstanceConfigurationRequest;
import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.ShowInstanceConfigurationResponse;
import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.UpdateInstanceConfigurationRequest;
import com.huaweicloud.sdk.gaussdbforopengauss.v3.model.UpdateInstanceConfigurationResponse;
import com.huaweicloud.sdk.gaussdbforopengauss.v3.region.GaussDBforopenGaussRegion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.HashMap;
import java.util.Map;
/**
* GaussDB参数相关示例代码
*/
public class ConfigurationsDemo {
private static final Logger logger = LoggerFactory.getLogger(ConfigurationsDemo.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();
// 获取参数模板列表,可在创建实例的时候指定对应的参数模板
listConfigurations(client);
// 获取指定实例的参数
ShowInstanceConfigurationResponse showInstanceConfigurationResponse = showInstanceConfiguration(client, instanceId);
if (showInstanceConfigurationResponse != null) {
// 通过map指定修改的参数,key:参数名 value:参数值
Map<String, String> values = new HashMap<>();
// 修改实例参数返回的第一个参数
values.put(showInstanceConfigurationResponse.getConfigurationParameters().get(0).getName(), "1000");
// 修改指定实例的指定参数
updateInstanceConfiguration(client, instanceId, values);
}
}
private static void listConfigurations(GaussDBforopenGaussClient client) {
ListConfigurationsRequest request = new ListConfigurationsRequest();
try {
ListConfigurationsResponse response = client.listConfigurations(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 ShowInstanceConfigurationResponse showInstanceConfiguration(GaussDBforopenGaussClient client, String instanceId) {
ShowInstanceConfigurationRequest request = new ShowInstanceConfigurationRequest();
request.withInstanceId(instanceId);
try {
ShowInstanceConfigurationResponse response = client.showInstanceConfiguration(request);
logger.info(response.toString());
return response;
} 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());
}
return null;
}
private static void updateInstanceConfiguration(GaussDBforopenGaussClient client, String instanceId, Map<String, String> values) {
UpdateInstanceConfigurationRequest request = new UpdateInstanceConfigurationRequest();
request.withInstanceId(instanceId);
OpenGaussModifyInstanceConfigurationRequest body = new OpenGaussModifyInstanceConfigurationRequest();
body.withValues(values);
request.withBody(body);
try {
UpdateInstanceConfigurationResponse response = client.updateInstanceConfiguration(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());
}
}
}
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!