桶存储类型
开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。
OBS允许您对桶配置不同的存储类型,桶中对象的存储类型默认将与桶的存储类型保持一致。不同的存储类型可以满足客户业务对存储性能、成本的不同诉求。桶的存储类型分为三类,见下表:
类型 |
说明 |
OBS Node.js SDK对应值 |
---|---|---|
标准存储 |
标准存储拥有低访问时延和较高的吞吐量,适用于有大量热点对象(平均一个月多次)或小对象(<1MB),且需要频繁访问数据的业务场景。 |
ObsClient.enums.StorageClassStandard |
低频访问存储 |
低频访问存储适用于不频繁访问(平均一年少于12次)但在需要时也要求能够快速访问数据的业务场景。 |
ObsClient.enums.StorageClassWarm |
归档存储 |
归档存储适用于很少访问(平均一年访问一次)数据的业务场景。 |
ObsClient.enums.StorageClassCold |
更多关于桶存储类型的内容请参考桶的存储类别。
设置桶存储类型
您可以通过ObsClient.setBucketStoragePolicy设置桶存储类型。以下代码展示如何设置桶存储类型:
// 引入obs库 // 使用npm安装 var ObsClient = require('esdk-obs-nodejs'); // 使用源码安装 // var ObsClient = require('./lib/obs'); // 创建ObsClient实例 var obsClient = new ObsClient({ //推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。 //您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html access_key_id: process.env.ACCESS_KEY_ID, secret_access_key: process.env.SECRET_ACCESS_KEY, server : 'https://your-endpoint' }); obsClient.setBucketStoragePolicy({ Bucket : 'bucketname', StorageClass: obsClient.enums.StorageClassWarm }, (err, result) => { if(err){ console.error('Error-->' + err); }else{ console.log('Status-->' + result.CommonMsg.Status); } });
使用StorageClass参数指定桶的存储类型。
获取桶存储类型
您可以通过ObsClient.getBucketStoragePolicy获取桶存储类型。以下代码展示如何获取桶存储类型:
// 引入obs库 // 使用npm安装 var ObsClient = require('esdk-obs-nodejs'); // 使用源码安装 // var ObsClient = require('./lib/obs'); // 创建ObsClient实例 var obsClient = new ObsClient({ //推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。 //您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html access_key_id: process.env.ACCESS_KEY_ID, secret_access_key: process.env.SECRET_ACCESS_KEY, server : 'https://your-endpoint' }); obsClient.getBucketStoragePolicy({ Bucket : 'bucketname' }, (err, result) => { if(err){ console.error('Error-->' + err); }else{ console.log('Status-->' + result.CommonMsg.Status); if(result.CommonMsg.Status < 300 && result.InterfaceResult){ console.log('StorageClass-->' + result.InterfaceResult.StorageClass); } } });