NodeJS SDK 上传日志

最近更新时间:2025-07-03 17:35:32

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

前提条件

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

准备开发环境

开始接入前,请先下载并安装 Node.js。下载地址及相关操作请参见 Node.js 官网。
以下以 CentOS 7系统为例,可使用如下命令安装开发环境。
# 安装EPEL仓库
sudo yum install epel-release -y
# 安装Node.js和npm
sudo yum install nodejs npm -y

安装 NodeJS SDK

1. 创建并进入项目目录。
2. 通过 npm 安装 SDK。
npm install
npm install tencentcloud-cls-sdk-js

请求参数

变量
类型
是否必填
说明
endpoint
String
域名信息,填写请参见 可用地域 中 API 上传日志 Tab 中的域名。
secretId
String
云 API 密钥信息,密钥信息获取请前往 API 密钥管理。并请确保密钥关联的账号具有相应的 SDK 上传日志权限
secretKey
String
云 API 密钥信息,密钥信息获取请前往 API 密钥管理。并请确保密钥关联的账号具有相应的 SDK 上传日志权限
sourceIp
String
来源 IP 地址。
retry_times
integer
重试次数。
topicID
String
日志主题的 ID 信息。

日志上传代码示例

以下代码以 NodeJS SDK 为例,展示通过调用 SDK 完成日志上传的操作。
不建议将云 API 密钥信息明文存储至工程代码中,可通过环境变量动态获取云 API 密钥信息,具体操作,请参见 配置环境变量
const { AsyncClient, LogItem, LogGroup, Content, PutLogsRequest } = require('tencentcloud-cls-sdk-js');

// CLS日志服务日志主题ID; 必填参数
let topicID = "591XXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // 替换为你的日志主题ID

let client = new AsyncClient({
// 填入域名信息,请参见链接中 API 上传日志 Tab 中的域名:https://cloud.tencent.com/document/product/614/18940#.E5.9F.9F.E5.90.8D
endpoint: "ap-xxxxxx.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
secretId: process.env.TENCENTCLOUD_SECRET_ID,
secretKey: process.env.TENCENTCLOUD_SECRET_KEY,
// 源IP地址: 选填参数, 为空则自动填充本机IP
sourceIp: "127.XX.XX.1",
// 重试次数: 必填参数
retry_times: 10,
});

async function sendLog() {
let item = new LogItem();
item.pushBack(new Content("__CONTENT__", "这是发送的日志内容")); // 修改为你想发送的日志内容
item.setTime(Math.floor(Date.now() / 1000));

let loggroup = new LogGroup();
loggroup.addLogs(item);
let request = new PutLogsRequest(topicID, loggroup);

try {
let data = await client.PutLogs(request);
console.log("发送日志成功:", data);
} catch (error) {
console.error("发送日志失败:", error);
}
}

// 调用发送日志的函数
sendLog();

结语

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