- 1.2 EMQ简介
- 1.3 快速开始
- 1.3.1 集群信息
- 1.3.2 控制台管理示例
- 1.3.3 代码示例
- 1.3.4 SDK
- 1.4 基础知识
- 1.4.1 基本概念
- 1.4.2 消息状态和接收模型
- 1.5 常见问题
- 1.5.1 Queue
- 1.5.2 Message
- 1.5.3 常见异常
- 1.5.4 其他
- 1.6 Queue API
- 1.6.1 创建/删除/清理 Queue
- 1.6.2 设置 Queue 属性/配额
- 1.6.3 获取 Queue 信息
- 1.6.4 Queue 权限操作
- 1.6.5 拷贝 Queue 元数据
- 1.7 Message API
- 1.7.1 发送 Message
- 1.7.2 接收 Message
- 1.7.3 更改 Message 不可见时间
- 1.7.4 删除(ACK) Message
- 1.7.5 重新驱动 Message
- 1.7.6 查询 Message
- 1.7.7 直接删除 Message
- 1.8 报警/统计 API
- 1.8.1 设置/获取 用户联系/配额信息
- 1.8.2 添加/移除/获取 Queue 报警策略
- 1.8.3 设置/获取 Queue 每日消息统计
- 1.9 高级队列功能
- 1.9.1 多读者/Tag
- 1.9.1.1 模型介绍
- 1.9.1.2 相关API
- 1.9.2 死信队列
- 1.9.3 Topic Queue
- 1.9.4 Priority Queue
- 1.10 计费规则
- 1.11 新旧版认证迁移
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
过滤的属性列表和逻辑关系
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论