软链接功能用于便捷访问Bucket内的常用Object。设置软链接后,您可以使用类似于Windows的快捷方式,通过软链接文件打开Object。
注意事项
使用本文示例前您需要先通过自定义域名、STS等方式新建OSSClient,具体请参见初始化。
创建软链接
以下代码用于为examplebucket中的exampleobject.txt文件创建名为examplesymlink的软链接。
OSSPutSymlinkRequest *request = [OSSPutSymlinkRequest new];
// 填写Bucket名称,例如examplebucket。
request.bucketName = @"examplebucket";
// 填写软链接名称。
request.objectKey = @"examplesymlink";
// 填写软链接指定的Object完整路径,Object完整路径中不能包含Bucket名称。
request.targetObjectName = @"exampleobject.txt";
OSSTask *putSymlinkTask = [client putSymlink:request];
[putSymlinkTask continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
if (!task.error) {
NSLog(@"put symlink success");
} else {
NSLog(@"put symlink failed, error: %@", task.error);
}
return nil;
}];
// 实现同步阻塞等待任务完成。
// [putSymlinkTask waitUntilFinished];
获取软链接
获取软链接要求您对该软链接具有读权限。
以下代码用于获取examplebucket存储空间中软链接examplesymlink指向的目标文件名称。
OSSGetSymlinkRequest *request = [OSSGetSymlinkRequest new];
// 填写Bucket名称,例如examplebucket。
request.bucketName = @"examplebucket";
// 填写软链接名称。
request.objectKey = @"examplesymlink";
OSSTask *getSymlinkTask = [client getSymlink:request];
[getSymlinkTask continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
if (!task.error) {
OSSGetSymlinkResult *result = task.result;
NSLog(@"get symlink: %@", result.httpResponseHeaderFields[@"x-oss-symlink-target"]);
} else {
NSLog(@"get symlink failed, error: %@", task.error);
}
return nil;
}];
// 实现同步阻塞等待任务完成。
// [putSymlinkTask waitUntilFinished];
相关文档
关于创建软链接的API接口说明,请参见PutSymlink。
关于获取软链接的API接口说明,请参见GetSymlink。
关于初始化OSSClient,请参见如何初始化OSSClient实例。