1.9.1.2 相关API
创建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(不可调整)。
删除Tag
方法参数DeleteTagRequest
queueName : String : required
tagName : String : required
方法返回void
列出某个Queue关联的所有Tag的名称
方法参数ListTagRequest
queueName : String : required
方法返回ListTagResponse
queueName : String
tagName : List< String >
方法参数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
过滤的属性列表和逻辑关系