版本控制应用于存储空间(Bucket) 内的所有文件(Object)。
通过Object的版本管理,在错误覆盖或者删除Object后,您能够将Bucket中存储的Object恢复至任意时刻的历史版本。Bucket的版本状态包括非版本化(默认)、开启版本控制及暂停版本控制三种。版本控制的详情请参见开发指南的版本控制介绍。
说明 版本控制目前支持6.8.0及以上版本SDK。
设置Bucket版本控制状态
以下代码用于设置Bucket为开启版本控制(Enabled)或暂停版本控制(Suspended)状态。
const OSS = require('ali-oss');
const client = new OSS({
bucket: '<Your BucketName>',
// region以杭州为例(oss-cn-hangzhou),其他region按实际情况填写。
region: '<Your Region>',
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>'
});
async function putBucketVersioning() {
// 设置存储空间版本控制状态为Enabled或Suspended。
const status = 'Enabled'; // `Enabled` or `Suspended`
const result = await client.putBucketVersioning('<Bucket Name>', status);
console.log(result);
}
putBucketVersioning();
设置Bucket版本控制状态的详情请参见PutBucketVersioning。
获取Bucket版本控制状态信息
以下代码用于获取Bucket的版本控制状态信息。
const OSS = require('ali-oss');
const client = new OSS({
bucket: '<Your BucketName>',
// region以杭州为例(oss-cn-hangzhou),其他region按实际情况填写。
region: '<Your Region>',
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>'
});
async function getBucketVersioning() {
// 获取存储空间版本控制状态信息。
const result = await client.getBucketVersioning('Bucket Name');
console.log(result.versionStatus);
}
getBucketVersioning();
获取Bucket版本控制状态的详情请参见GetBucketVersioning。
列举Bucket中所有Object的版本信息
以下代码用于列举指定Bucket中包括删除标记(Delete Marker)在内的所有Object的版本信息。
const OSS = require('ali-oss');
const client = new OSS({
bucket: '<Your BucketName>',
// region以杭州为例(oss-cn-hangzhou),其他region按实际情况填写。
region: '<Your Region>',
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>'
});
async function getBucketVersions() {
// 列举包括删除标记(Delete Marker)在内的所有Object的版本信息。
const result = await client.getBucketVersions();
console.log(result.objects);
console.log(result.deleteMarker);
}
getBucketVersions();
列举Bucket中包括删除标记(Delete Marker)在内的所有Object的版本信息的详情请参见GetBucketVersions(ListObjectVersions)。
在文档使用中是否遇到以下问题
更多建议
匿名提交