本文介绍如何在受版本控制的存储空间(Bucket)中管理软链接。
创建软链接
软链接本身也可以有多个版本,每个不同的版本可以指向不同的TargetObject,版本ID由OSS自动生成,在响应header中返回x-oss-version-id。您可以通过创建软链接指向TargetObject的当前版本。
说明 在受版本控制的Bucket中,无法为删除标记(Delete Marker)创建软链接。
以下代码用于创建软链接:
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 putSymlink() {
// 创建软链接。
const name = '<your objectName>'
const targetName = '<your target objectName>'
const result = await client.putSymlink(name, targetName);
console.log(result.res.headers['x-oss-version-id']);
}
putSymlink();
创建软链接的详细信息请参见PutSymlink。
获取软链接
GetSymlink接口默认获取软链接的当前版本。允许通过指定versionId来获取指定版本。如果软链接的当前版本为删除标记,OSS会返回404 Not Found,在响应header中返回x-oss-delete-marker
= true以及版本ID : x-oss-version-id。
说明 获取软链接操作需要您对该软链接有读权限。
以下代码用于获取软链接:
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 getSymlink() {
const name = '<your objectName>'
const versionId = '<your versionId>'
// 获取指定versionId的软链接的内容。
const result = await client.getSymlink(name, {
versionId
});
console.log(result);
}
getSymlink();
获取软链接的详细信息请参见GetSymlink。
在文档使用中是否遇到以下问题
更多建议
匿名提交