文档中心>消息队列 RocketMQ 版>RocketMQ 4.x>实践教程>关于 RocketMQ 4.x 集群角色(Role)相关云 API 迁移指引

关于 RocketMQ 4.x 集群角色(Role)相关云 API 迁移指引

最近更新时间:2024-07-16 16:49:11

我的收藏

背景说明

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