You need to enable JavaScript to run this app.
Torch Object Storage

Torch Object Storage

Copy page
Download PDF
Manage Bucket Configuration
Managing Real-Time Logs (Node.js SDK)
Copy page
Download PDF
Managing Real-Time Logs (Node.js SDK)
TOS supports log analysis capabilities to retrieve and analyze access logs generated during your visit to TOS through the log service. With the TOS Go SDK, you can configure the log analysis function.​
Set up real-time log configuration rules​
warning​
  • To use the log analysis feature, you need to have the log service enabled and authorized TOS to access the Volcano Engine log service TLS.​
  • After enabling the log analysis function, the log service will automatically create log items and topics to store the relevant logs of the TOS.​
Sample code​
The following code sets the live log configuration rules for the bucket.​
​
// Import SDK, if the TOS Node.JS SDK version is less than 2.5.2, please change "TosClient" to "TOS" in the code below.​
import { TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';​
​
// Create a client.​
const client = new TosClient({​
accessKeyId: process.env['TOS_ACCESS_KEY'],​
accessKeySecret: process.env['TOS_SECRET_KEY'],​
region: "Provide your region", // Fill in the region where the Bucket is located. For example, if it is in China North 2 (Beijing), fill in "Provide your region" as cn-beijing.​
endpoint: "Provide your endpoint", // Enter the domain address.​
});​
​
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 {​
// Scene 2: Redirecting requests based on rules.​
const { requestId: putRealTimeLogRequestId } = await client.putBucketRealTimeLog({​
bucket: bucketName,​
realTimeLogConfiguration: {​
// Configuration of TLS Role​
Role: 'TOSLogTLSRole',​
// Configuration of TLS​
AccessLogConfiguration: {​
UseServiceTopic: true,​
TLSProjectID: 'TLSProjectID',​
TLSTopicID: 'TLSTopicID',​
},​
},​
});​
console.log('putBucketRealTimeLog Request ID: ', putRealTimeLogRequestId);​
} catch (error) {​
handleError(error);​
}​
}​
​
main();​
​
Get real-time log configuration rules​
warning​
To obtain the live log configuration rules for a bucket, you must be the bucket owner by default.​
Sample code​
The following code is used to obtain the live log configuration rules for the bucket.​
​
// Import SDK, if the TOS Node.JS SDK version is less than 2.5.2, please change "TosClient" to "TOS" in the code below.​
import { TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';​
​
// Create a client.​
const client = new TosClient({​
accessKeyId: process.env['TOS_ACCESS_KEY'],​
accessKeySecret: process.env['TOS_SECRET_KEY'],​
region: "Provide your region", // Fill in the region where the Bucket is located. For example, if it is in China North 2 (Beijing), fill in "Provide your region" as cn-beijing.​
endpoint: "Provide your endpoint", // Enter the domain address.​
});​
​
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);​
// View TLS log configuration.​
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();​
​
Delete live log configuration rules​
warning​
To remove a live log configuration rule for a bucket, you must be the bucket owner by default.​
Sample code​
The following code deletes the live log configuration rule for the bucket.​
​
// Import SDK, if the TOS Node.JS SDK version is less than 2.5.2, please change "TosClient" to "TOS" in the code below.​
import { TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';​
​
// Create a client.​
const client = new TosClient({​
accessKeyId: process.env['TOS_ACCESS_KEY'],​
accessKeySecret: process.env['TOS_SECRET_KEY'],​
region: "Provide your region", // Fill in the region where the Bucket is located. For example, if it is in China North 2 (Beijing), fill in "Provide your region" as cn-beijing.​
endpoint: "Provide your endpoint", // Enter the domain address.​
});​
​
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();​
​
​
Last updated: 2025.09.22 18:35:46