当消息队列Kafka版控制台提供的按位点查询和按时间查询消息的功能无法满足您搜索消息的需求时,您可以使用消息队列Kafka版消息检索功能。消息检索支持按Topic分区、位点范围、时间范围以及消息Key和Value关键字检索。本文介绍如何开通消息检索、添加检索条件以及进行暂停、启用、删除管理操作。
背景信息
- 消息队列Kafka版消息检索借助消息队列Kafka版的Connector功能及表格存储(Tablestore)实现,通过Connector对Topic中的消息进行转储,发送到表格存储中的数据表中,由表格存储索引功能提供消息检索的能力。
开通消息检索相当于自动化创建了一个消息队列Kafka版同步数据至表格存储的Connector任务,名称格式为:ots-ms-{Topic名称}-{6位随机字符},该Connector任务在消息检索页面显示和管理,而不在Connector 任务列表页面显示和管理。
- 首次开通消息检索后,消息队列Kafka版自动为您开通表格存储服务,并创建表格存储实例和对应的数据表。每个开通消息检索的Topic会在表格存储中对应创建一张数据表。自动创建的实例和数据表名称格式如下:
- 实例名称:kfk-{消息队列Kafka版实例名称后12位字符}
- 数据表表名:{Topic名称}:kafka_topic_{Topic名称}_{6位随机字符}
- 每个开通消息检索的Topic会在消息队列Kafka版实例中自动创建4个Topic和2个Group,用于记录任务配置和任务状态。名称格式如下:
- 任务位点Topic:connect-offset-{任务名称}
- 任务配置Topic:connect-config-{任务名称}
- 任务状态Topic:connect-status-{任务名称}
- 死信队列Topic/异常数据Topic:connect-error-{任务名称}
- Connector消费组:connect-{任务名称}、connect-cluster-{任务名称}
更多信息,请参见创建Tablestore Sink Connector。
计费说明
消息队列Kafka版消息检索处于公测阶段,且独立于消息队列Kafka版实例,因此不会在消息队列Kafka版侧产生费用,自动创建的表格存储实例和数据表在公测期也不产生费用。同时,阿里云不承诺消息检索的SLA,使用消息检索所依赖的其他产品的SLA和费用说明请以对应产品为准。
注意事项
- 首次开通消息检索时,仅会自动开通同地域下的表格存储服务。当前消息检索功能已支持在多个地域使用。具体信息,请参见开服地域。
- 首次开通消息检索时,消息队列Kafka版会为您自动创建服务关联角色AliyunServiceRoleForAlikafkaConnector,以便使用Connector功能。如果已创建服务关联角色,消息队列Kafka版不会重复创建。关于服务关联角色的更多信息,请参见服务关联角色。
- 单个实例默认最多同时支持3个Topic的消息检索。每个Topic的消息检索结果最多显示10条。
- 检索到的每条消息在消息队列Kafka版控制台上最多显示1 KB的内容,超过1 KB的部分将自动截断。如需查看完整的消息内容,请下载相应的消息。
- 目前表格存储不支持单个字段大于2 MB,超过2 MB的消息不会被同步,因此超过该大小的消息也无法在消息队列Kafka版控制台的消息检索页面检索出来。
- 表格存储中的数据保留时长与消息队列Kafka版实例消息保留时长具有相同的数据生命周期(TTL),当数据超过消息保留时长时,将会自动清除并移除相关索引。关于消息队列Kafka版消息保留时长相关配置和说明信息,请参见变更消息配置。
由于表格存储数据过期策略与消息队列Kafka版并不完全一致,故最终检索到的数据请以实际获取的为准。
开通消息检索
开通某个实例下Topic的消息检索功能,以便于您根据需要对其Topic中消息进行检索。
测试发送消息
开通消息检索后,您可以向消息队列Kafka版的数据源Topic发送消息,调度任务和测试消息检索是否创建成功。
搜索消息
查看消息检索任务详情
开通消息检索后,即可查看自动创建的Topic、Group、表格存储实例名称、表格存储数据表表名等详细信息,您也可以在详情中直接进入表格存储数据表。
查看消费详情
您可以查看订阅当前Topic的在线Group在Topic各个分区的消费进度,了解消息的消费和堆积情况。
暂停消息检索任务
如果您需要暂时中止某个运行中的Topic消息检索,您可以暂停该Topic检索任务。
- 登录消息队列Kafka版控制台。
- 在概览页面的资源分布区域,选择地域。
- 在左侧导航栏,单击消息检索。
- 在消息检索页面,找到目标Topic,在其操作列,选择 。
- 在弹出的对话框单击确认。
启用消息检索任务
您可以根据需要重新启用某个已经暂停的消息检索任务。
- 登录消息队列Kafka版控制台。
- 在概览页面的资源分布区域,选择地域。
- 在左侧导航栏,单击消息检索。
- 在消息检索页面,找到目标Topic,在其操作列,选择 。
- 在弹出的对话框单击确认。
删除消息检索任务
删除Topic的消息检索任务后,表格存储的数据表与多元索引会同步删除,该Topic不再提供消息检索功能。如果需要继续使用该Topic消息检索,请重新创建并等待数据同步。