桶(Bucket)是 TOS 的全局唯一的命名空间,相当于数据的容器,用来储存对象(Object)数据。本文介绍如何设置桶的存储类型。
桶(Bucket)是 TOS 的全局唯一的命名空间,相当于数据的容器,用来储存对象(Object)数据。TOS提供了多种桶存储类型,可适用于各种应用场景,关于存储类型的更多信息,请参见存储类型,本文介绍如何设置桶的存储类型。桶存储类型包含以下几类:。
存储类型 | 描述 | 对应枚举值 |
---|---|---|
标准存储 | 高可用、高可靠、高性能存储类型,适用于频繁被访问的数据 | StorageClassType.StorageClassStandard |
低频存储 | 适用于不频繁被访问的数据,最少存储 30 天。 | StorageClassType.StorageClassIa |
归档闪回存储 | 需要长期保存且不太访问的业务场景,例如档案资料等,最少存储 90 天。 | StorageClassType.StorageClassArchiveFr |
智能分层存储 | 适用于访问频率不确定的数据,可根据访问频率转换访问层,降低存储费用。 | StorageClassType.StorageClassIntelligentTiering |
冷归档存储 | 属于冷数据类型,适用于极少访问、需要长期保存数据的业务场景。最少需要存储 180 天;访问冷归档数据前需要先恢复数据。 | StorageClassType.StorageClassColdArchive |
注意
以下代码用于设置存储桶的存储类型。
// 导入 SDK, 当 TOS Node.JS SDK 版本小于 2.5.2 请把下方 TosClient 改成 TOS 导入 import { TosClient, TosClientError, TosServerError, StorageClassType } 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: putStorageClassRequestId } = await client.putBucketStorageClass({ bucket: bucketName, storageClass: StorageClassType.StorageClassIa, }); console.log('putBucketStorageClass Request ID: ', putStorageClassRequestId); } 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: headBucketRequestId } = await client.headBucket(bucketName); console.log('headBucket Request ID: ', headBucketRequestId); console.log('Bucket Storage Class: ', data['x-tos-storage-class']); } catch (error) { handleError(error); } } main();
关于存储类型的更多信息,请参见存储类型。