軟連結功能用於便捷訪問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執行個體。