シンボリックリンクはWindowsのファイルショートカットのように機能し、Object Storage Service (OSS) の関連オブジェクトにすばやくアクセスできます。
シンボリックリンクの作成
次のコードは、examplebucketという名前のバケット内のexampleobject.txtという名前のオブジェクトを指すexamplesymlinkという名前のシンボリックリンクを作成する方法の例を示しています。
OSSPutSymlinkRequest * request = [OSSPutSymlinkRequest new];
// バケットの名前を指定します。 例: examplebucket.
request.bucketName = @ "examplebucket";
// シンボリックリンクの名前を指定します。
request.objectKey = @ "examplesymlink";
// オブジェクトのフルパスを指定します。 フルパスにバケット名を含めることはできません。
request.tar getObjectName = @ "exampleobject.txt";
OSSTask * putSymlinkTask = [クライアントputSymlink: リクエスト];
[putSymlinkTask continueWithBlock:^ id _Nullable(OSSTask * _Nonnullタスク) {
if (!task.error) {
NSLog(@ "put symlink success");
} else {
NSLog(@ "put symlink failed, error: % @", task.error);
}
nilを返します。}];
シンボリックリンクの照会
シンボリックリンクが指すオブジェクトを照会するには、シンボリックリンクに対する読み取り権限が必要です。
examplebucketバケット内のシンボリックリンクexamplesymlinkが指すオブジェクトの名前を取得するには、次のコードを使用します。
OSSGetSymlinkRequest * request = [OSSGetSymlinkRequest new];
// バケットの名前を指定します。 例: examplebucket.
request.bucketName = @ "examplebucket";
// シンボリックリンクの名前を指定します。
request.objectKey = @ "examplesymlink";
OSSTask * getSymlinkTask = [クライアントgetSymlink: リクエスト];
[getSymlinkTask continueWithBlock:^ id _Nullable(OSSTask * _Nonnullタスク) {
if (!task.error) {
OSSGetSymlinkResult * result = task.result;
NSLog(@ "get symlink: % @", result.httpResponseHeaderFields[@ "x-oss-symlink-target"]);
} else {
NSLog(@ "get symlink failed, error: % @", task.error);
}
nilを返します。}];
参考資料
- シンボリックリンクを作成するために呼び出すことができるAPI操作の詳細については、「PutSymlink」をご参照ください。
- シンボリックリンクを照会するために呼び出すことができるAPI操作の詳細については、「GetSymlink」をご参照ください。