create-symlink コマンドを使用して、Object Storage Service (OSS) 内のオブジェクトを指すシンボリックリンクを作成します。シンボリックリンクはショートカットのように機能し、オブジェクトを複製することなく、オブジェクトに素早くアクセスできます。
前提条件
開始する前に、以下を確認してください:
ターゲットバケットに対する
oss:PutObject権限。詳細については、「RAM ユーザーへのカスタムポリシーのアタッチ」をご参照ください。ossutil 1.6.16 以降。以前のバージョンでは、ご利用のオペレーティングシステムに基づいてバイナリの名前を変更する必要があります。詳細については、「ossutil コマンドリファレンス」をご参照ください。
コマンド構文
ossutil create-symlink cloud_url target_object
[--encoding-type <value>]
[--payer <value>]| パラメーター/オプション | 説明 | 例 |
|---|---|---|
cloud_url | 作成するシンボリックリンクの完全な OSS パス。 | oss://examplebucket/test.jpg |
target_object | シンボリックリンクが指すオブジェクトの完全な OSS パス。シンボリックリンクとターゲットオブジェクトは同じバケット内にある必要があります。 | oss://examplebucket/exampleobject.jpg |
--encoding-type | cloud_url と target_object 内のオブジェクト名のエンコーディングメソッド。有効な値: url。指定しない場合、名前はエンコードされません。 | url |
--payer | リクエストの支払者。requester に設定すると、リクエスト元がトラフィック料金とリクエスト料金を支払います。 | requester |
注意事項
ossutil は、シンボリックリンクの作成時にターゲットオブジェクトが存在するかどうかをチェックしません。ターゲットオブジェクトが存在する場合、シンボリックリンクはそれを指します。ターゲットが存在しない場合、シンボリックリンクは何も指しません。ターゲットオブジェクトが存在することを確認するには、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 --payer requester期待される出力
操作が成功すると、経過時間が返されます:
0.106744(s) elapsedアカウントまたはリージョンをまたいでシンボリックリンクを作成
異なるリージョンにある、または異なる Alibaba Cloud アカウントが所有するバケットにアクセスするには、-e、-i、および -k オプションを追加します。
次のコマンドは、中国 (上海) リージョンにあり、別のアカウントが所有する testbucket 内の exampleobject.png を指す testobject.png という名前のシンボリックリンクを作成します:
ossutil create-symlink oss://testbucket/testobject.png oss://testbucket/exampleobject.png -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret| オプション | 説明 |
|---|---|
-e | バケットが配置されているリージョンのエンドポイント。 |
-i | バケットを所有するアカウントの AccessKey ID。 |
-k | バケットを所有するアカウントの AccessKey Secret。 |
詳細については、「共通オプション」をご参照ください。
次のステップ
シンボリックリンクを作成した後、read-symlink または stat コマンドを実行して、ETag 値や最終更新日時などの詳細をクエリします。