全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
消息队列 MQ

删除 Topic

更新时间:2017-12-15 20:40:30

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

描述

OnsTopicDelete 接口用于删除账号下的指定 Topic。

Topic 删除接口一般是资源回收时使用,例如应用下线。Topic 删除时 MQ 后台需要做资源回收,速度较慢,因此不建议删除后立即又重新创建。如果删除失败,请根据错误码进行处理。

注意:删除 Topic 将导致该 Topic 下所有的发布订阅关系同时被清理,请慎重调用。

主子帐号约束

本接口默认仅限主账号使用,RAM 子账号无法使用,除非该 RAM 子账号被授予了相关权限。

请求参数

名称 类型 是否必须 描述
OnsRegionId String 当前查询 MQ 所在区域,可以通过 ONSRegionList 方法获取,请参考公共术语说明
OnsPlatform String 该请求来源,默认是从 POP 平台
PreventCache Long 用于 CSRF 校验,设置为系统当前时间即可
Topic String 指定删除的 Topic

返回参数

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

相关 API

  • OnsTopicCreate:创建 Topic
  • OnsTopicList:查看 Topic 列表
  • OnsPublishDelete:删除发布关系
  • OnsSubscribeDelete:删除订阅关系

使用示例

本示例仅仅提供一个参考,从华东1接入点接入,删除名为"Mingduan_67dd"的 Topic。

调用示例

   public static void main(String[]args){
        String regionId = "cn-hangzhou";
        String accessKey = "XXXXXXXXXXXXXXXXX";
        String secretKey = "XXXXXXXXXXXXXXXXX";
        String endPointName ="cn-hangzhou";
        String productName ="Ons";
        String domain ="ons.cn-hangzhou.aliyuncs.com";

        /**
        *根据自己需要访问的区域选择 Region,并设置对应的接入点
        */
        try {
            DefaultProfile.addEndpoint(endPointName,regionId,productName,domain);
        } catch (ClientException e) {
            e.printStackTrace();
        }
        IClientProfile profile= DefaultProfile.getProfile(regionId,accessKey,secretKey);
        IAcsClient iAcsClient= new DefaultAcsClient(profile);
        OnsTopicDeleteRequest request =new OnsTopicDeleteRequest();
        request.setCluster("taobaodaily");
        request.setPreventCache(System.currentTimeMillis());
            /**
            *ONSRegionId 是指设置 API 访问 MQ 特点的区域
            *该值必须要根据 OnsRegionList 方法获取的列表来选择和配置,因为 OnsRegionId 是变动的,不能够写固定值
            */
        request.setOnsRegionId("daily");
        request.setTopic("Mingduan_67dd");
        try {
            OnsTopicDeleteResponse response = client.getAcsResponse(request);
            System.out.println(response.getRequestId());
        }
        catch (ServerException e) {
            e.printStackTrace();
        }
        catch (ClientException e) {
            e.printStackTrace();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
本文导读目录