Python SDK
最近更新时间: 2025-10-11 18:10:00
操作场景
本文以 Python 语言为例介绍通过 HTTP 协议接入 TDMQ Pulsar 版并收发消息的操作方法。
前提条件
操作步骤
- 准备环境。 参考 Python SDK 安装安装 Python SDK。
pip install --upgrade tencentcloud-sdk-python
- 创建 TDMQ 客户端。
# 认证信息
cred = credential.Credential(SECRET_ID, SECRET_KEY)
httpProfile = HttpProfile()
httpProfile.endpoint = ENDPOINT
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
# 创建tdmq客户端
client = tdmq_client.TdmqClient(cred, REGION, clientProfile)
| 参数 | 说明 |
|---|---|
| SECRET_ID、SECRET_KEY | 云 API 密钥,登录访问管理控制台,在访问密钥>API 密钥管理页面复制。![]() |
| ENDPOINT | 接口请求域名: tdmq.tencentcloudapi.com。 |
| REGION | 集群所属地域。 |
- 发送消息。
# 发送消息请求参数
req = models.SendMessagesRequest()
params = {
# 已授权角色密钥
"StringToken": token,
# topic全称, 格式为: 集群(租户)ID/命名空间/Topic名称
"Topic": topicName,
# 消息内容
"Payload": "this is a new message.",
# 已授权角色名称
"ProducerName": userName,
# 发送超时时间
"SendTimeout": 3000,
}
req.from_json_string(json.dumps(params))
# 发送消息
resp = client.SendMessages(req)
| 参数 | 说明 |
|---|---|
| token | 角色密钥,在 角色管理 页面复制密钥列复制。![]() |
| userName | 角色名称,在角色管理页面复制名称列复制。 |
| topicName | Topic名称,格式为:集群(租户)ID/命名空间/Topic名称,示例:pulsar-xxx/sdk_http/topic1。可以从控制台上Topic 管理页面直接复制。 |
- 消费消息。
# 接收消息请求参数
req = models.ReceiveMessageRequest()
params = {
# topic全称, 格式为: 集群(租户)ID/命名空间/Topic名称
"Topic": topicName,
# 订阅名称
"SubscriptionName": subName,
# consumer接收的消息会首先存储到receiverQueueSize这个队列中,用作调优接收消息的速率
"ReceiverQueueSize": 10,
# 设置consumer初始接收消息的位置,可选参数为:Earliest, Latest
"SubInitialPosition": "Latest"
}
req.from_json_string(json.dumps(params))
# 接收消息
resp = client.ReceiveMessage(req)
| 参数 | 说明 |
|---|---|
| topicName | Topic 名称,格式为:集群(租户)ID/命名空间/Topic名称,示例:pulsar-xxx/sdk_http/topic1。可以从控制台上 Topic 管理 页面直接复制。 |
| subName | 订阅名称,可在控制台集群管理 > 消费者 tab 页面复制。 |
- 确认消息。
# 确认消息请求参数
req = models.AcknowledgeMessageRequest()
params = {
# 待确认的消息id
"MessageId": messageId,
# topic全称, 格式为: 集群(租户)ID/命名空间/Topic名称
"AckTopic": topicName,
# 订阅名称
"SubName": subName
}
req.from_json_string(json.dumps(params))
# 确认消息
resp = client.AcknowledgeMessage(req)
| 参数 | 说明 |
|---|---|
| messageId | 消费消息获取导的消息 ID。 |
| topicName | Topic 名称,格式为:集群(租户)ID/命名空间/Topic名称,示例:pulsar-xxx/sdk_http/topic1。可以从控制台上 Topic 管理 页面直接复制。 |
| subName | 订阅名称,可在控制台集群管理 > 消费者 tab 页面复制。 |
说明:
上述是对消息收发操作的简单介绍,完整实例可参见 Demo 或 云API Explorer。

