import { TosClient, TosClientError, TosServerError, GranteeType, PermissionType } from '@volcengine/tos-sdk';
const client = new TosClient({
accessKeyId: process.env['TOS_ACCESS_KEY'],
accessKeySecret: process.env['TOS_SECRET_KEY'],
region: "Provide your region",
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);
console.log('unexpected exception, message: ', error);
const bucketName = 'node-sdk-test-bucket';
const { requestId: putAclRequestId } = await client.putBucketAcl({
Type: GranteeType.GranteeUser,
Permission: PermissionType.PermissionWrite,
console.log('putBucketAcl Request ID: ', putAclRequestId);
const { data, requestId: getAclRequestId } = await client.getBucketAcl(bucketName);
console.log('getBucketAcl Request ID: ', getAclRequestId);
console.log('getBucketAcl Owner:', data.Owner);
for (const grant of data.Grants) {
console.log('Grant Permission:', grant.Permission);
console.log('Grant Grantee ID', grant.Grantee.ID);
console.log('Grant Grantee DisplayName', grant.Grantee.DisplayName);
console.log('Grant Grantee Canned', grant.Grantee.Canned);
console.log('Grant Grantee Type', grant.Grantee.Type);