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

创建 Topic

更新时间:2017-08-11 16:01:39   分享:   

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

描述

Topic 创建接口一般是在有新的 Topic 需求的情况下调用,例如发布新应用,业务逻辑需要新的 Topic。

Topic 为全局唯一,不可重复创建,否则会创建失败,需要根据错误码进行处理。

请求参数

名称 类型 是否必须 描述
OnsRegionId String 当前查询 MQ 所在区域,详情请参考公共术语说明
OnsPlatform String 该请求来源,默认是从 POP 平台
PreventCache Long 用于 CSRF 校验,设置为系统当前时间即可
Topic String 需要创建的 Topic 名称,Topic 名称全局唯一,不可重复
Qps Long 设置该 Topic 的 QPS 估计
Status Integer Topic 申请的状态,(0 服务中 1 冻结 2 暂停)
Remark String 备注,可以不填
Appkey String 应用的 Key,公共云不填,聚石塔用户需要设置
AppName String 应用名,公共云不填

返回参数

名称 类型 描述
RequestId String 为公共参数,每个请求独一无二,用于排查定位问题
HelpUrl String 帮助链接

相关 API

  • OnsTopicDelete:删除 Topic
  • OnsTopicList:查看 Topic 列表
  • OnsPublishCreate:在创建 Topic 之后一般需要创建发布关系
  • OnsSubscribeCreate:在创建 Topic 之后一般需要创建订阅关系

使用示例

本示例仅仅提供一个参考,从华东1接入点接入,创建名为“XXX”的 Topic,创建到 daily 区域。

  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. OnsTopicCreateRequest request = new OnsTopicCreateRequest();
  19. request.setAcceptFormat(FormatType.JSON);
  20. request.setTopic("XXXXXXXX");
  21. request.setQps(1000l);
  22. request.setRemark("test");
  23. request.setStatus(0);
  24. /**
  25. *ONSRegionId是指需要API访问MQ哪个区域的资源
  26. *该值必须要根据OnsRegionList方法获取的列表来选择和配置,因为OnsRegionId是变动的,不能够写固定值
  27. */
  28. request.setOnsRegionId("daily");
  29. request.setPreventCache(System.currentTimeMillis());
  30. try {
  31. OnsTopicCreateResponse response = client.getAcsResponse(request);
  32. System.out.println(response.getRequestId());
  33. }
  34. catch (ServerException e) {
  35. e.printStackTrace();
  36. }
  37. catch (ClientException e) {
  38. e.printStackTrace();
  39. }
  40. catch (Exception e) {
  41. e.printStackTrace();
  42. }
  43. }
本文导读目录
本文导读目录
以上内容是否对您有帮助?