シンボリックリンクはWindowsのショートカットに似ており、Object Storage Service (OSS) 内のオブジェクトにすばやくアクセスできます。 create-symlinkコマンドを実行して、OSS内のオブジェクトを指すシンボリックリンクを作成できます。
使用上の注意
シンボリックリンクを作成するには、
oss:PutObject
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。
ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。
コマンド構文
ossutil create-symlink cloud_url target_object
[-- encoding-type <value>]
[-- payer <value>]
次の表に、上記のパラメーターとオプションを示します。
パラメータ /オプション | 説明 |
cloud_url | 作成するシンボリックリンクのフルパス。 |
target_object | シンボリックリンクが指すオブジェクトのフルパス。 シンボリックリンクとシンボリックリンクが指すオブジェクトは、同じバケット内にある必要があります。 |
-- encoding-type |
|
-- 支払人 | リクエストの支払人。 指定されたパスのリソースにアクセスするリクエスタが、トラフィックやリクエスト料金など、操作によって発生する料金を支払うようにする場合は、このパラメーターをrequesterに設定します。 |
例
create-symlinkコマンドを実行してシンボリックリンクを作成すると、シンボリックリンクが指すオブジェクトが存在するかどうかはチェックされません。 オブジェクトが存在する場合、作成されたシンボリックリンクはオブジェクトを指します。 オブジェクトが存在しない場合、作成されたシンボリックリンクは何も指しません。 シンボリックリンクが指すオブジェクトが存在するかどうかを判断するには、lsコマンドを実行してバケット内のすべてのオブジェクトを照会します。
次の例は、既存のオブジェクトを指すシンボリックリンクを作成する方法を示しています。
作成するシンボリックリンクの名前がバケット内の既存のシンボリックリンクの名前と同じである場合、既存のシンボリックリンクは上書きされます。
examplebucketバケットのルートディレクトリにtest.jpgという名前のシンボリックリンクを作成し、バケットのルートディレクトリにあるexampleobject.jpgオブジェクトへのシンボリックリンクをポイントします。
ossutil create-symlink oss:// examplebucket/test.jpg oss:// examplebucket/exampleobject.jpg
examplebucketバケットのdestfolderディレクトリにexample.jpgという名前のシンボリックリンクを作成し、バケットのルートディレクトリにあるtest.jpgオブジェクトへのシンボリックリンクをポイントします。 コマンドの実行時に発生するすべての料金がリクエスタによって支払われるように指定します。
ossutil create-symlink oss:// examplebucket/destfolder/example.jpg oss:// examplebucket/test.jpg -- 支払人リクエスタ
次のサンプル出力は、オブジェクトのシンボリックリンクが作成されていることを示しています。
0.106744経過
シンボリックリンクの作成後、read-symlinkまたはstatコマンドを実行して、ETag値や最終更新時刻などのシンボリックリンクに関する情報を照会できます。
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、-eオプションを追加して、バケットが配置されているリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、-iオプションを追加して指定されたアカウントのAccessKey IDを指定し、-kオプションを追加して指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketバケット内のexampleobject.pngオブジェクトを指すtestobject.pngという名前のシンボリックリンクを作成できます。
ossutil create-symlink oss:// testbucket/testobject.png oss:// testbucket/exampleobject.png -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
共通オプションの詳細については、「共通オプション」をご参照ください。