tencent cloud

消息队列 Pulsar 版

动态与公告
新功能发布记录
集群版本更新记录
产品公告
产品简介
TDMQ 产品系列介绍与选型
什么是消息队列 Pulsar 版
产品优势
应用场景
技术原理
产品系列
开源 Pulsar 版本支持说明
与开源 Pulsar 对比
高可用
配额与限制
基础概念
产品计费
计费概述
价格说明
计费示例
续费说明
查看消费明细
欠费说明
退费说明
快速入门
入门流程指引
准备工作
使用 SDK 收发普通消息
使用 SDK 收发高级特性消息
用户指南
使用流程指引
配置账号权限
新建集群
配置命名空间
配置 Topic
连接集群
管理集群
查询消息及轨迹
跨地域复制
查看监控和配置告警
实践教程
客户端使用实践
异常消费者隔离
限流机制说明
交易对账
消息幂等性
消息压缩
迁移指南
单写多读集群迁移方案
虚拟集群平滑迁移至专业集群
API 参考
API 概览
SDK 参考
SDK 概述
SDK 配置参数推荐
TCP 协议(Pulsar 社区版)
安全与合规
权限管理
删除保护
云 API 审计
常见问题
监控相关
客户端相关
服务协议
服务等级协议
TDMQ 政策
联系我们
词汇表

Python SDK

PDF
聚焦模式
字号
最后更新时间: 2025-12-24 15:26:38

操作场景

本文以调用 Python SDK 为例介绍通过开源 SDK 实现消息收发的操作过程,帮助您更好地理解消息收发的完整过程。

前提条件

已参考 SDK 概述,获取相关的客户端连接参数

操作步骤

1. 准备环境。 在客户端环境安装 pulsar-client 库,可以使用 pip 进行安装,也可以使用其他方式,参见 Pulsar Python client
pip install 'pulsar-client==3.1.0'
2. 创建客户端。
# 创建客户端
client = pulsar.Client(
authentication=pulsar.AuthenticationToken(
# 已授权角色密钥
AUTHENTICATION),
# 服务接入地址
service_url=SERVICE_URL)
参数
说明
SERVICE_URL
集群接入地址,可以在控制台 集群管理 页面查看并复制。
img


AUTHENTICATION
角色密钥,在 角色管理 页面复制密钥列。
img


3. 创建生产者。
# 创建生产者
producer = client.create_producer(
# topic完整路径,格式为persistent://集群(租户)ID/命名空间/Topic名称,从【Topic管理】处复制
topic='pulsar-xxx/sdk_python/topic1'
)
说明
Topic 名称需要填入完整路径,即 persistent://clusterid/namespace/Topicclusterid/namespace/topic 的部分可以从控制台上 Topic管理 页面直接复制。
4. 发送消息。
# 发送消息
producer.send(
# 消息内容
'Hello python client, this is a msg.'.encode('utf-8'),
# 消息参数
properties={'k': 'v'},
# 业务key
partition_key='yourKey'
)
还可以使用异步方式发送消息。
# 异步发送回调
def send_callback(send_result, msg_id):
print('Message published: result:{} msg_id:{}'.format(send_result, msg_id))

# 发送消息
producer.send_async(
# 消息内容
'Hello python client, this is a async msg.'.encode('utf-8'),
# 异步回调
callback=send_callback,
# 消息配置
properties={'k': 'v'},
# 业务key
partition_key='yourKey'
)
5. 创建消费者。
# 订阅消息
consumer = client.subscribe(
# topic完整路径,格式为persistent://集群(租户)ID/命名空间/Topic名称,从【Topic管理】处复制
topic='pulsar-xxx/sdk_python/topic1',
# 订阅名称
subscription_name='sub_topic1'
)
说明
Topic 名称需要填入完整路径,即 persistent://clusterid/namespace/Topicclusterid/namespace/topic 的部分可以从控制台上 Topic管理 页面直接复制。
img


subscriptionName 需要写入订阅名,可在消费管理界面查看。
6. 消费消息。
# 获取消息
msg = consumer.receive()
try:
# 模拟业务
print("Received message '{}' id='{}'".format(msg.data(), msg.message_id()))
# 消费成功,回复ack
consumer.acknowledge(msg)
except:
# 消费失败,消息将会重新投递
consumer.negative_acknowledge(msg)
7. 登录 TDMQ Pulsar 版控制台,依次单击 Topic 管理 > Topic 名称进入消费管理页面,点开订阅名下方右三角号,可查看生产消费记录。
img


说明
上述是对消息的发布和订阅方式的简单介绍。更多操作可参见 DemoPulsar 官方文档


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈