すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:OSS SDK for iOSを使用したシンボリックリンクの管理

最終更新日:Aug 22, 2024

シンボリックリンクはWindowsのファイルショートカットのように機能し、Object Storage Service (OSS) の関連オブジェクトにすばやくアクセスできます。

使用上の注意

  • このトピックのサンプルコードを実行する前に、カスタムドメイン名やSecurity Token Service (STS) などの方法を使用してOSSClientインスタンスを作成する必要があります。 詳細については、「初期化」をご参照ください。

シンボリックリンクの作成

次のコードは、examplebucketという名前のバケット内のexampleobject.txtという名前のオブジェクトを指すexamplesymlinkという名前のシンボリックリンクを作成する方法の例を示しています。

OSSPutSymlinkRequest *request = [OSSPutSymlinkRequest new];
// Specify the name of the bucket. Example: examplebucket. 
request.bucketName = @"examplebucket";
// Specify the name of the symbolic link. 
request.objectKey = @"examplesymlink";
// Specify the full path of the object to which you want the symbolic link to point. Do not include the bucket name in the full path. 
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;
}];
// Implement synchronous blocking to wait for the task to complete. 
// [putSymlinkTask waitUntilFinished];

シンボリックリンクの照会

シンボリックリンクが指すオブジェクトを照会するには、シンボリックリンクに対する読み取り権限が必要です。

次のコードでは、examplebucketバケット内でexamplesymlinkという名前のシンボリックリンクが指すオブジェクトの名前を照会する方法の例を示します。

OSSGetSymlinkRequest *request = [OSSGetSymlinkRequest new];
// Specify the name of the bucket. Example: examplebucket. 
request.bucketName = @"examplebucket";
// Specify the name of the symbolic link. 
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;
}];
// Implement synchronous blocking to wait for the task to complete. 
// [putSymlinkTask waitUntilFinished];

関連ドキュメント

  • シンボリックリンクを作成するために呼び出すことができるAPI操作の詳細については、「PutSymlink」をご参照ください。

  • シンボリックリンクを照会するために呼び出すことができるAPI操作の詳細については、「GetSymlink」をご参照ください。

  • OSSClientインスタンスを初期化する方法の詳細については、「初期化」をご参照ください。