You need to enable JavaScript to run this app.
文档中心
对象存储

对象存储

复制全文
下载 pdf
管理桶配置
管理实时日志(Node.js SDK)
复制全文
下载 pdf
管理实时日志(Node.js SDK)

TOS 支持日志分析功能,支持通过日志服务检索分析您访问 TOS 过程中产生的访问日志。通过 TOS Go SDK 您可以设置日志分析功能配置。

设置实时日志配置规则

注意

  • 使用日志分析功能需要您已开通日志服务功能,并已授权 TOS 访问火山引擎日志服务 TLS。
  • 开启日志分析功能后,日志服务会自动创建日志项目及主题存放 TOS 的相关日志。

示例代码

以下代码用于设置桶的实时日志配置规则。

// 导入 SDK, 当 TOS Node.JS SDK 版本小于 2.5.2 请把下方 TosClient 改成 TOS 导入
import { TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';

// 创建客户端
const client = new TosClient({
  accessKeyId: process.env['TOS_ACCESS_KEY'],
  accessKeySecret: process.env['TOS_SECRET_KEY'],
  region: "Provide your region", // 填写 Bucket 所在地域。以华北2(北京)为例,则 "Provide your region" 填写为 cn-beijing。
  endpoint: "Provide your endpoint", // 填写域名地址
});

function handleError(error) {
  if (error instanceof TosClientError) {
    console.log('Client Err Msg:', error.message);
    console.log('Client Err Stack:', error.stack);
  } else if (error instanceof TosServerError) {
    console.log('Request ID:', error.requestId);
    console.log('Response Status Code:', error.statusCode);
    console.log('Response Header:', error.headers);
    console.log('Response Err Code:', error.code);
    console.log('Response Err Msg:', error.message);
  } else {
    console.log('unexpected exception, message: ', error);
  }
}

const bucketName = 'node-sdk-test-bucket';
async function main() {
  try {
    // 场景2 根据规则重定向请求
    const { requestId: putRealTimeLogRequestId } = await client.putBucketRealTimeLog({
      bucket: bucketName,
      realTimeLogConfiguration: {
        // TLS Role 的配置
        Role: 'TOSLogTLSRole',
        // TLS 的配置
        AccessLogConfiguration: {
          UseServiceTopic: true,
          TLSProjectID: 'TLSProjectID',
          TLSTopicID: 'TLSTopicID',
        },
      },
    });
    console.log('putBucketRealTimeLog Request ID: ', putRealTimeLogRequestId);
  } catch (error) {
    handleError(error);
  }
}

main();

获取实时日志配置规则

注意

要获取桶的实时日志配置规则,默认您必须为桶所有者。

示例代码

以下代码用于获取桶的实时日志配置规则。

// 导入 SDK, 当 TOS Node.JS SDK 版本小于 2.5.2 请把下方 TosClient 改成 TOS 导入
import { TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';

// 创建客户端
const client = new TosClient({
  accessKeyId: process.env['TOS_ACCESS_KEY'],
  accessKeySecret: process.env['TOS_SECRET_KEY'],
  region: "Provide your region", // 填写 Bucket 所在地域。以华北2(北京)为例,则 "Provide your region" 填写为 cn-beijing。
  endpoint: "Provide your endpoint", // 填写域名地址
});

function handleError(error) {
  if (error instanceof TosClientError) {
    console.log('Client Err Msg:', error.message);
    console.log('Client Err Stack:', error.stack);
  } else if (error instanceof TosServerError) {
    console.log('Request ID:', error.requestId);
    console.log('Response Status Code:', error.statusCode);
    console.log('Response Header:', error.headers);
    console.log('Response Err Code:', error.code);
    console.log('Response Err Msg:', error.message);
  } else {
    console.log('unexpected exception, message: ', error);
  }
}

const bucketName = 'node-sdk-test-bucket';
async function main() {
  try {
    const { data, requestId: getRealTimeLogRequestId } = await client.getBucketRealTimeLog({
      bucket: bucketName,
    });
    console.log('getBucketRealTimeLog Request ID: ', getRealTimeLogRequestId);
    // 查看 TLS 日志配置
    console.log('getBucketRealTimeLog Role', data.RealTimeLogConfiguration.Role);
    console.log('getBucketRealTimeLog TLSTopicID', data.RealTimeLogConfiguration.AccessLogConfiguration.TLSTopicID);
    console.log('getBucketRealTimeLog TLSProjectID', data.RealTimeLogConfiguration.AccessLogConfiguration.TLSProjectID);
    console.log('getBucketRealTimeLog UseServiceTopic', data.RealTimeLogConfiguration.AccessLogConfiguration.UseServiceTopic);
  } catch (error) {
    handleError(error);
  }
}

main();

删除实时日志配置规则

注意

要删除桶的实时日志配置规则,默认您必须为桶所有者。

示例代码

以下代码用于删除桶的实时日志配置规则。

// 导入 SDK, 当 TOS Node.JS SDK 版本小于 2.5.2 请把下方 TosClient 改成 TOS 导入
import { TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';

// 创建客户端
const client = new TosClient({
  accessKeyId: process.env['TOS_ACCESS_KEY'],
  accessKeySecret: process.env['TOS_SECRET_KEY'],
  region: "Provide your region", // 填写 Bucket 所在地域。以华北2(北京)为例,则 "Provide your region" 填写为 cn-beijing。
  endpoint: "Provide your endpoint", // 填写域名地址
});

function handleError(error) {
  if (error instanceof TosClientError) {
    console.log('Client Err Msg:', error.message);
    console.log('Client Err Stack:', error.stack);
  } else if (error instanceof TosServerError) {
    console.log('Request ID:', error.requestId);
    console.log('Response Status Code:', error.statusCode);
    console.log('Response Header:', error.headers);
    console.log('Response Err Code:', error.code);
    console.log('Response Err Msg:', error.message);
  } else {
    console.log('unexpected exception, message: ', error);
  }
}

const bucketName = 'node-sdk-test-bucket';
async function main() {
  try {
    const { requestId: deleteRealTimeLogRequestId } = await client.deleteBucketRealTimeLog({
      bucket: bucketName,
    });
    console.log('deleteBucketRealTimeLog Request ID: ', deleteRealTimeLogRequestId);
  } catch (error) {
    handleError(error);
  }
}

main();

相关文档

关于实时日志配置的更多信息,请参见日志分析

最近更新时间:2024.02.04 18:31:09
这个页面对您有帮助吗?
有用
有用
无用
无用