Mi Galaxy EMQ Book

createTag()


创建Tag

方法参数CreateTagRequest

queueName : String : required

Tag关联的Queue的名称

tagName : String : required

待创建的Tag的名称

startTimestamp : long : optional

待创建的Tag的起始时间戳
当此数值为0时,表示从Queue中保留的最旧的Message开始接收
当此数值小于0时,表示从当前时间开始接收
默认值为-1

userAttributes : Map< String, String > : optional

与Tag关联的用户自定义属性,如Tag的描述信息

attributeName : String : optional
attributeValue : MessageAttribute : optional

attributeName与attributeValue配合使用,对通过Tag接收的message按属性进行过滤
如果没有设定这两个参数,表示接收Queue中全部message
如果指定attributeName的同时,将attributeValue中的字段type设为"empty",表示接收所有包含attributeName(大小写敏感)属性的message
否则,只有那些attributeName,attributeValue.type,attributeValue.value同时匹配的message才会通过Tag被接收
MessageAttribute类型的具体解释,请参见sendMessage()

attributesFilter : AttributesFilter : optional

设置过滤的属性列表和逻辑关系.后端对用这种方法设置的过滤条件,采用了更高效的过滤方式. AttributesFilter包含两个字段

  • attributes : map< string, Message.MessageAttribute > : required 过滤属性的列表
  • logicalOperator : LogicalOperator : required 过滤属性之间的逻辑关系,分为AND,OR.

方法返回CreateTagResponse

queueName : String

与请求中的queueName相同

tagName : String

与请求中的tagName相同

startTimestamp : long

创建的Tag的真实起始时间戳
当创建请求中的时间戳小于等于0,或者小于Queue中保留的最旧Message的时间戳时,此数值将大于请求中的值


Tag一经创建,其属性(包括起始时间戳,filter等)不可更改。用户如需对属性作调整,只能删除Tag后再新建。
增加Tag会给EMQ系统带来额外的负担,因此每个Queue最多可创建20个对应的Tag(不可调整)。

deleteTag()


删除Tag

方法参数DeleteTagRequest

queueName : String : required
tagName : String : required

方法返回void

listTag()


列出某个Queue关联的所有Tag的名称

方法参数ListTagRequest

queueName : String : required

方法返回ListTagResponse

queueName : String
tagName : List< String >

getTagInfo()


方法参数GetTagInfoRequest

queueName : String : required
tagName : String : optional

待获取信息的Tag的名称
当此值为空时,获取Queue默认Tag的信息

方法返回GetTagInfoResponse

queueName : String
tagName : String
startTimestamp : long

Tag的起始时间戳,与CreateTagResponse中的数值相同
如果是Queue的默认Tag,此值为0

tagState : QueueState

具体字段请参见getQueueInfo()中的解释

userAttributes : Map< String, String >

用户自定义属性

attributeName : String

与下面的attributeValue共同构成Tag的filter信息

attributeValue : MessageAttribute
attributesFilter : AttributesFilter : optional

过滤的属性列表和逻辑关系