前提条件
创建并获取云 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-pythonVersion: 1.0.4Summary: TencentCloud cls log service Python client SDKHome-page: https://github.com/TencentCloud/tencentcloud-cls-sdk-pythonAuthor: farmerx
请求参数
变量 | 类型 | 是否必填 | 说明 |
endpoint | String | 是 | |
accessKeyId | String | 是 | |
accessKey | String | 是 | |
topic_id | String | 是 | 日志主题的 ID 信息。 |
日志上传示例代码
以下代码以 Python SDK 为例,展示通过调用 SDK 完成日志上传的操作,示例代码如下所示。
# 导入所需的库import timefrom tencentcloud.log.logclient import LogClientfrom tencentcloud.log.logexception import LogExceptionfrom tencentcloud.log.cls_pb2 import LogGroupListimport osdef 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/113851accessKeyId = os.environ["TENCENTCLOUD_SECRET_ID"]accessKey = os.environ["TENCENTCLOUD_SECRET_KEY"]# 填入日志主题的 IDtopic_id = '59XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'# 构建日志客户端client = LogClient(endpoint, accessKeyId, accessKey)# 调用上传函数upload(topic_id, client)
结语