云日志服务 node.js SDK 本文主要介绍 云日志服务node.js SDK接入指南。 1. 前言 安装使用node.js SDK可以帮助开发者快速接入使用天翼云的日志服务相关功能,目前支持同步上传功能。 2. 使用条件 2.1. 先决条件 用户需要具备以下条件才能够使用LTS SDK node.js版本: 1、购买并订阅了天翼云的云日志服务,并创建了日志项目和日志单元,获取到相应编码(logProject、logUnit)。 2、已获取AccessKey 和 SecretKey。 3、已安装node.js运行环境,推荐node16以上环境。 2.2. 下载及安装 从官方渠道下载ctyunltsnodejssdk.zip压缩包,放到相应位置后并解压。“ctyunltsnodejssdk/src”目录中index.ts为SDK的使用示例代码。 2.2.1. 编译使用 1、node,js sdk 使用前需安装node.js运行环境。 2、打开项目,执行以下命令安装依赖。如果失败,可以加上镜像源,比如天翼云:npm install registryxxx plaintext npm install 3、安装tsnode,tsnode是用于编译并执行TypeScript文件的工具。 plaintext npm i tsnode g 4、将ts文件编译为js文件。它会将js文件输出到dist目录下。(可在tsconfig.json里面进行修改) plaintext tsc 5、运行测试用例。 plaintext tsnode ./src/index.js 3. SDK使用设置 3.1. 基本使用 使用 SDK访问云日志服务,需要设置正确的 AccessKey、SecretKey 和endpoint,所有的服务可以使用同一 key 凭证来进行访问,但不同的服务地区需要使用不同的 endpoint 进行访问,详情参考天翼云官网SDK接入概述。在调用前SDK,需要已知以下参数: 云日志服务访问地址。详情请查看访问地址(Endpoint)。 key凭证:accessKey和secretKey 。详情请查看如何获取访问密钥(AK/SK)。 日志项目编码:logProject,在使用SDK前,需要确保您有至少一个已经存在的日志项目。 日志单元编码:logUnit,在使用SDK前,需要确保日志项目中有至少一个已经存在的日志单元。 待上传的日志:logItem,在使用SDK前,需要确保日志已按照特定格式组织。 参数 参数类型 描述 是否必须 endpoint string 域名 是 accessKey string AccessKey,简称ak 是 secretKey string SecretKey ,简称sk 是 logProject string 日志项目编码 是 logUnit string 日志单元编码 是 示例代码:SDK使用示例 plaintext import as lts from "./index"; async function testPutlog() { const ak 'your accessKey' const sk 'your secretKey' const logProject 'your logProject' //日志项目编码 const logUnit 'your logUnit' //日志单元编码 const endpoint 'your endpoint' //不同资源池endpoint不同 const logItems new Array(); for (let i 0; i < 10; i++) { //一次请求上传10条日志 const logItem new lts.LogItem("node.js sdk test"); logItem.setLogTimestamp(Date.now() 1000 1000); //可省略,默认为当前时间 logItem.addContent("contentString", "contents test string"); //增加分词内容,也可不加 logItem.addContent("contentDouble", 3.1415926); //增加分词内容,也可不加 logItems.push(logItem); } try { const client new lts.Client(ak,sk,endpoint ) // const client new lts.Client(ak, sk, endpoint, "none"); //不使用lz4 压缩 //上传日志,100次,总计10010 1000条日志 for (let i 0; i < 1; i++) { const putLogsResponse: lts.PutLogsResponse await client.putLogs( logProject, logUnit, logItems ); console.log( "statusCode:", putLogsResponse.statusCode, ", message:", putLogsResponse.message, ", error:", putLogsResponse.error ); } } catch (e) { console.log(e); } } //执行测试,上传日志 testPutlog()