全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
消息队列 MQ

配置订阅权限

更新时间:2017-08-11 15:58:40

本接口限企业铂金版客户专用,请前往铂金版购买页面查看详情。

描述

OnsSubscribeUpdate 接口用于设置指定订阅组的读取消息的权限。

使用场景

根据您指定的 MQ 区域以及 Consumer ID 名称,可以配置该 Consumer ID 的读消息的开关,一般用于禁止特定 Consumer ID 读取消息的场景。

请求参数列表

名称 类型 是否必须 描述
OnsRegionId String 当前查询 MQ 所在区域,可以通过 OnsRegionList 方法获取
OnsPlatform String 该请求来源,默认是从 POP 平台
PreventCache Long 用于 CSRF 校验,设置为系统当前时间即可
ConsumerId String 需要配置的 consumer ID 名称
ReadEnable Boolean 设置读消息开关

返回参数列表

名称 类型 描述
RequestId String 为公共参数,每个请求独一无二
HelpUrl String 帮助链接

相关 API

  • OnsSubcribeCreate:创建订阅关系
  • OnsSubcribeDelete:删除订阅关系
  • OnsSubscribeGet:订阅关系精确查询

使用示例

本示例仅仅提供一个参考,从华东 1 接入点接入,关闭名为”CID_001”的 Consumer ID 的读权限。

  1. public static void main(String[] args) {
  2. String regionId = "cn-hangzhou";
  3. String accessKey = "XXXXXXXXXXXXXXXXX";
  4. String secretKey = "XXXXXXXXXXXXXXXXX";
  5. String endPointName ="cn-hangzhou";
  6. String productName ="Ons";
  7. String domain ="ons.cn-hangzhou.aliyuncs.com";
  8. /**
  9. *根据自己需要访问的区域选择Region,并设置对应的接入点
  10. */
  11. try {
  12. DefaultProfile.addEndpoint(endPointNameregionIdproductNamedomain);
  13. } catch (ClientException e) {
  14. e.printStackTrace();
  15. }
  16. IClientProfile profile= DefaultProfile.getProfile(regionIdaccessKeysecretKey);
  17. IAcsClient IAcsClient= new DefaultAcsClient(profile);
  18. OnsSubscriptionUpdateRequest request = new OnsSubscriptionUpdateRequest();
  19. request.setAcceptFormat(FormatType.JSON);
  20. request.setConsumerId("CID_001");
  21. /**
  22. *ONSRegionId是指需要API访问MQ哪个区域的资源
  23. *该值必须要根据OnsRegionList方法获取的列表来选择和配置,因为OnsRegionId是变动的,不能够写固定值
  24. */
  25. request.setOnsRegionId("daily");
  26. request.setPreventCache(System.currentTimeMillis());
  27. request.setReadEnable(false);//2代表禁读,4代表禁写,6代表同时读写
  28. try {
  29. OnsSubscriptionUpdateResponse response = IAcsClient.getAcsResponse(request);
  30. System.out.println(response.getRequestId());
  31. }
  32. catch (ServerException e) {
  33. e.printStackTrace();
  34. }
  35. catch (ClientException e) {
  36. e.printStackTrace();
  37. }
  38. catch (Exception e) {
  39. e.printStackTrace();
  40. }
  41. }
本文导读目录