Node.js管理软链接

软链接功能用于便捷访问Bucket内的常用Object。设置软链接后,您可以使用类似于Windows的快捷方式,通过软链接文件打开Object。

创建软链接

软链接本身也可以有多个版本,每个不同的版本可以指向不同的TargetObject,版本ID由OSS自动生成,在响应header中返回x-oss-version-id。您可以通过创建软链接指向TargetObject的当前版本。

说明

在受版本控制的Bucket中,无法为删除标记(Delete Marker)创建软链接。

以下代码用于创建软链接:

const OSS = require("ali-oss");

const client = new OSS({
  // yourregion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
  region: 'yourregion',
  // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填写存储空间名称。
  bucket: 'yourbucketname'
});

async function putSymlink() {
  // 指定要创建的软链接的名称。
  const symlinkName = "symlinkName";
  // 指定要创建软链接的Object。
  const targetName = "targetName";
  // 指定要创建软链接的Object的versionId。
  const versionId = "versionId";
  const result = await client.putSymlink(symlinkName, targetName, {
    versionId,
  });
  console.log(result);
}

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({
  // yourregion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
  region: 'yourregion',
  // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填写存储空间名称。
  bucket: 'yourbucketname'
});

async function getSymlink() {
  // 指定要获取软链接的Object名称。
  const targetName = "targetName";
  // 指定要获取软链接的Object的versionId。
  const versionId = "versionId";

  // 获取指定versionId的软链接的内容。
  const result = await client.getSymlink(targetName, {
    versionId,
  });
  console.log(result);
}

getSymlink();

相关文档

  • 关于创建软链接的API接口说明,请参见PutSymlink

  • 关于获取软链接的API接口说明,请参见GetSymlink