Python SDK 上传日志

最近更新时间:2025-01-08 17:30:22

我的收藏
本文介绍如何快速使用日志服务的 Python SDK 实现日志上传的操作。更多 SDK 使用的详细内容,可见代码仓库 tencentcloud-cls-sdk-python

前提条件

创建并获取云 API 密钥信息 accessKeyId 和 accessKey,密钥信息获取请前往 API 密钥管理
请确保密钥关联的账号具有相应的 SDK上传日志权限

准备开发环境

请参见 Python 官网 下载并安装 Python 开发环境或使用 conda 创建 Python 虚拟环境。
日志服务 Python SDK 支持 Pypy2、3和 Python2.7、3.3、3.4、3.5、3.6、3.7、3.8、3.9版本。
您可执行以下命令检查当前 Python 的版本信息
pip -V

安装 Python SDK

在命令行工具中,执行以下命令安装 Python SDK。
pip install git+https://github.com/TencentCloud/tencentcloud-cls-sdk-python.git@v1.0.4

验证 SDK 安装

安装 SDK 后,执行以下步骤验证已安装的 Python SDK。
pip show tencentcloud-cls-sdk-python
如果返回类型以下的信息,则代表安装成功。
Name: tencentcloud-cls-sdk-python
Version: 1.0.4
Summary: TencentCloud cls log service Python client SDK
Home-page: https://github.com/TencentCloud/tencentcloud-cls-sdk-python
Author: farmerx

请求参数

变量
类型
是否必填
说明
endpoint
String
域名信息,填写请参见 可用地域 中 API 上传日志 Tab 中的域名。
accessKeyId
String
云 API 密钥信息,密钥信息获取请前往 API 密钥管理。并请确保密钥关联的账号具有相应的 SDK 上传日志权限
accessKey
String
云 API 密钥信息,密钥信息获取请前往 API 密钥管理。并请确保密钥关联的账号具有相应的 SDK 上传日志权限
topic_id
String
日志主题的 ID 信息。

日志上传示例代码

以下代码以 Python SDK 为例,展示通过调用 SDK 完成日志上传的操作,示例代码如下所示。
不建议将云 API 密钥信息明文存储至工程代码中,可通过环境变量动态获取云 API 密钥信息,具体操作,请参见 配置环境变量
# 导入所需的库
import time
from tencentcloud.log.logclient import LogClient
from tencentcloud.log.logexception import LogException
from tencentcloud.log.cls_pb2 import LogGroupList
import os

def upload(topic_id, client):
LogLogGroupList = LogGroupList()
LogGroup = LogLogGroupList.logGroupList.add()
# 自定义本次日志上传的文件名来源,会作为元数据字段在日志中
LogGroup.filename = "pyXXXX.log"
# 自定义本次上传的地址来源,会作为元数据字段在日志中
LogGroup.source = "192.XX.XX.XX"
# 自定义元数据字段
LogTag = LogGroup.logTags.add()
LogTag.key = "key"
LogTag.value = "value"
Log = LogGroup.logs.add()
Log.time = int(round(time.time() * 1000000)) # 获取当前时间作为日志的时间戳
# 定义日志的内容
Content = Log.contents.add()
Content.key = "Hello"
Content.value = "World"
try:
request = client.put_log_raw(topic_id, LogLogGroupList)
print("Request ID:", request.get_request_id())
except LogException as e:
print("Error uploading log:", e)
if name == 'main':

# 填入域名信息,填写指引:https://cloud.tencent.com/document/product/614/18940#.E5.9F.9F.E5.90.8D,请参见链接中 API 上传日志 Tab 中的域名
endpoint = 'https://ap-xxxxxxxx.cls.tencentcs.com';
# 填入云API密钥信息。密钥信息获取请前往:https://console.cloud.tencent.com/cam/capi
# 并请确保密钥关联的账号具有相应的日志上传权限,权限配置指引:https://cloud.tencent.com/document/product/614/68374#.E4.BD.BF.E7.94.A8-api-.E4.B8.8A.E4.BC.A0.E6.95.B0.E6.8D.AE
# 本示例从环境变量中获取,环境变量配置指引:https://cloud.tencent.com/document/product/614/113851
accessKeyId = os.environ["TENCENTCLOUD_SECRET_ID"]
accessKey = os.environ["TENCENTCLOUD_SECRET_KEY"]
# 填入日志主题的 ID
topic_id = '59XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
# 构建日志客户端
client = LogClient(endpoint, accessKeyId, accessKey)
# 调用上传函数
upload(topic_id, client)

结语

通过以上步骤,您可以快速使用腾讯云 CLS 的 Python SDK 完成日志的上传操作。如遇到任何问题,请 联系我们 获取帮助。