消息队列 RocketMQ 版 平滑迁移相关接口

由于历史原因,TDMQ 产品家族下的子产品存在共用个别接口的情况,例如 Pulsar 和 RocketMQ 存在部分历史集群共用角色(Role)相关的云 API 的情况。为了最小粒度进行权限隔离,RocketMQ 后续推出了单独的角色管理接口。对于部分使用历史共用云 API 的客户,TDMQ RocketMQ 会进行单独通知。

相关产品
消息队列 RocketMQ 版 产品页,含版本规格、价格与购买入口。

一、背景说明

本篇文档用于指导客户更好地进行云 API 的替换。如你未使用以下的历史共用接口,可以忽略这篇档。

二、相关接口

历史共用接口名 说明 替换接口
CreateRole 创建角色 CreateRocketMQRole
DeleteRoles 删除角色 DeleteRocketMQRoles
DescribeRoles 获取角色列表 DescribeRocketMQRoles
ModifyRole 角色修改 ModifyRocketMQRole
ModifyEnvironmentRole 修改环境角色授权 ModifyRocketMQEnvironmentRole
CreateEnvironmentRole 创建环境角色授权 CreateRocketMQEnvironmentRole
DescribeEnvironmentRoles 获取命名空间角色列表 DescribeRocketMQEnvironmentRoles
DeleteEnvironmentRoles 删除环境角色授权 DeleteRocketMQEnvironmentRoles
DescribeMsgTrace 查询消息轨迹 DescribeRocketMQMsgTrace
ModifyVipInstanceState 修改专享实例状态 ModifyRocketMQVipInstanceState
DescribeAppIdStats 获取用户信息 DescribeRocketMQAppIdStats

三、迁移代码示例

迁移时仅需要改变实例化请求对象为 RocketMQ 相关的对象,这里以 CreateRole 接口迁移到 CreateRocketMQRole 接口为例,使用 SDK接入,开发语言为 Java。

四、旧接口接入

package com.tencent;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.tdmq.v20200217.TdmqClient;
import com.tencentcloudapi.tdmq.v20200217.models.*;
public class Sample
{
public static void main(String [] args) {
try{
// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
// 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
Credential cred = new Credential("", "");
// 实例化一个http选项,可选的,没有特殊需求可以跳过
HttpProfile httpProfile = new HttpProfile();
// 推荐使用北极星,相关指引可访问如下链接
// https://git.woa.com/tencentcloud-internal/tencentcloud-sdk-java#%E5%8C%97%E6%9E%81%E6%98%9F
httpProfile.setEndpoint("tdmq.ap-guangzhou.tencentcloudapi.woa.com");
// 实例化一个client选项,可选的,没有特殊需求可以跳过
ClientProfile clientProfile = new ClientProfile();
clientProfile.setHttpProfile(httpProfile);
// 实例化要请求产品的client对象,clientProfile是可选的
TdmqClient client = new TdmqClient(cred, "", clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
CreateRoleRequest req = new CreateRoleRequest();
// 返回的resp是一个CreateRoleResponse的实例,与请求对象对应
CreateRoleResponse resp = client.CreateRole(req);
// 输出json格式的字符串回包
System.out.println(resp);
} catch (TencentCloudSDKException e) {
System.out.println(e.toString());
}
}
}

五、新接口接入

package com.tencent;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.tdmq.v20200217.TdmqClient;
import com.tencentcloudapi.tdmq.v20200217.models.*;
public class Sample
{
public static void main(String [] args) {
try{
// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
// 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
Credential cred = new Credential("", "");
// 实例化一个http选项,可选的,没有特殊需求可以跳过
HttpProfile httpProfile = new HttpProfile();
// 推荐使用北极星,相关指引可访问如下链接
// https://git.woa.com/tencentcloud-internal/tencentcloud-sdk-java#%E5%8C%97%E6%9E%81%E6%98%9F
httpProfile.setEndpoint("tdmq.ap-guangzhou.tencentcloudapi.woa.com");
// 实例化一个client选项,可选的,没有特殊需求可以跳过
ClientProfile clientProfile = new ClientProfile();
clientProfile.setHttpProfile(httpProfile);
// 实例化要请求产品的client对象,clientProfile是可选的
TdmqClient client = new TdmqClient(cred, "", clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
CreateRocketMQRoleRequest req = new CreateRocketMQRoleRequest();
// 返回的resp是一个CreateRocketMQRoleResponse的实例,与请求对象对应
CreateRocketMQRoleResponse resp = client.CreateRocketMQRole(req);
// 输出json格式的字符串回包
System.out.println(resp);
} catch (TencentCloudSDKException e) {
System.out.println(e.toString());
}
}
}

赞 (0)
上一篇 4天前
下一篇 4天前