dropStreamTable时报错All subscriptions to the shared stream table must be cancelled before it can be dropped.?如何查看流表所有的订阅?如何取消订阅?可以一键取消所有的订阅吗?

如题

请先 登录 后评论

1 个回答

Yating Xie
  • 报错解释:dropStreamTable时该表还有通过subscribeTable提交的订阅

  • 解决方法:需要先用unsubscribeTable取消相关的订阅后再dropStreamTable。


    1、如何查看流表所有的订阅?

    getStreamingStat().pubTables可以查询所有的流数据表订阅关系


    2、如何取消订阅?

    使用unsubscribeTable函数,在信息订阅端的节点执行,以停止向信息发布者订阅数据


    3、可以一键取消所有的订阅吗?

    可以的。getStreamingStat().pubTables返回的是一张表,可以遍历这张表

    下面的demo将取消所有的订阅:

    t = getStreamingStat().pubTables
    for(row in t){
    	tableName = row.tableName
    	actions = split(substr(row.actions, 1, strlen(row.actions)-2), ",")
    	for(action in actions){
    		unsubscribeTable(tableName=tableName, actionName=action)
    	}
    }
请先 登录 后评论