软链接功能用于快速访问对象存储空间内的常用文件。设置软链接后,您可以通过软链接文件快速打开源文件,类似于Windows的快捷方式。本文介绍如何在受版本控制的存储空间(Bucket)中管理软链接。

创建软链接

软链接本身也可以有多个版本,每个不同的版本可以指向不同的TargetObject,版本ID由OSS自动生成,在响应header中返回x-oss-version-id。您可以通过创建软链接指向TargetObject的当前版本。
说明 在受版本控制的Bucket中,无法为删除标记(Delete Marker)创建软链接。
以下代码用于创建软链接:
# -*- coding: utf-8 -*-
import oss2
# 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
auth = oss2.Auth('yourAccessKeyId', 'yourAccessKeySecret')
# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

objectName = 'yourTargetObjectName'
symlink = 'yourSymlink'

# 上传软链接。
result = bucket.put_symlink(objectName, symlink)
# 查看上传的软链接的版本ID。
print('symlink versionid:', result.versionid)

获取软链接

GetSymlink接口默认获取软链接的当前版本。允许通过指定versionId来获取指定版本。如果软链接的当前版本为删除标记,OSS会返回404 Not Found,在响应header中返回x-oss-delete-marker = true以及版本ID : x-oss-version-id。
说明 获取软链接操作需要您对该软链接有读权限。
以下代码用于获取软链接:
# -*- coding: utf-8 -*-
import oss2
# 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
auth = oss2.Auth('yourAccessKeyId', 'yourAccessKeySecret')
# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

symlink = 'yourSymlink'

# 获取指定版本的软链接文件。
params = dict()
params['versionId'] = ‘yourSymlinkVersionId’
result = bucket.get_symlink(symlink, params=params)
# 查看返回的软链接文件的版本ID。
print('get symlink versionid:', result.versionid)

相关文档

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