本文介绍如何快速使用日志服务 Node.js SDK 实现基础的日志采集流程,包括创建日志项目、创建日志主题、写入日志和查询日志等操作。
package.json
文件的 @volcengine/openapi
字段中查看 SDK 版本号。VOLCENGINE_ACCESS_KEY_ID
等环境变量。环境变量的配置方式请参考配置身份认证信息。初始化 Client 实例之后,才可以向 TLS 服务发送请求。初始化时推荐通过环境变量动态获取火山引擎密钥等身份认证信息,以免 AccessKey 硬编码引发数据安全风险。
初始化代码如下:
VOLCENGINE_ACCESS_KEY_ID="your accessKeyId" VOLCENGINE_ACCESS_KEY_SECRET="your secretKey" VOLCENGINE_ENDPOINT="your host" VOLCENGINE_REGION="your region"
本文档以日志服务的基本日志采集和检索流程为例。创建一个 TLSSQuickStart.js
文件,并调用接口分别完成创建 Project、创建 Topic、创建索引、写入日志数据和查询日志数据。
详细示例代码如下:
const { tlsOpenapi } = require('@volcengine/openapi'); async function main() { const tlsOpenapiService = tlsOpenapi.defaultService; const project = await tlsOpenapiService.CreateProject({ ProjectName: 'your project name', Region: 'project belong to which region', }); const topic = await tlsOpenapiService.CreateTopic({ ProjectId: 'your project id', ShardCount: 'your shard count', TopicName: 'your topic name', Ttl: 'your ttl time', }); const index = await tlsOpenapiService.CreateIndex({ TopicId: 'your topic id', FullText: 'your full-text config', KeyValue: 'your kv config', }); // 将结构化的日志数据通过 objToProtoBuffer 方法转为 Protocol Buffer 格式。 const logBuffer = await tlsOpenapi.TlsService.objToProtoBuffer({ LogGroups: [ { Logs: [ { Time: 'log time', Contents: [{ Key: 'content key', Value: 'key value' }] } ], Source: 'log source', LogTags: [{ Key: 'tag key', Value: 'key value' }], FileName: 'file name', ContextFlow: 'context flow', } ] }); // PutLogs API 接收 TopicId、压缩类型 (CompressType) 和 Protocol Buffer 格式日志 (LogGroupList) 作为入参,将日志数据上传到 TLS。 const putLogsResult = await tlsOpenapiService.PutLogs({ TopicId: 'your topic id', CompressType: 'log compress type', LogGroupList: logBuffer, }); const searchLogsResult = await tlsOpenapiService.SearchLogs({ StartTime: 'log start time', EndTime: 'log end time', Limit: 'page size', Query: 'query phrases', TopicId: 'your topic id', }); }