ターゲットオブジェクトをリンク先とするシンボルリンクを作成します。 シンボルリンクを使用して、ターゲットオブジェクトにアクセスできます。

バージョン管理

シンボルリンクのリンク先をターゲットオブジェクトの現在のバージョンにすることができます。

1 つのシンボルリンクに、異なるターゲットオブジェクトをリンク先とするバージョンを複数設定することができます。 シンボルリンクのバージョン ID は自動的に生成され、レスポンスヘッダーの x-oss-version-id として返されます。

リクエスト構文

PUT /ObjectName?symlink HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
x-oss-symlink-target: TargetObjectName

リクエストヘッダー

ヘッダー 必須 説明
x-oss-symlink-target String はい シンボリックリンクのリンク先のターゲットオブジェクト。

有効な値:命名規則はオブジェクトの命名規則と同じです。

  • ObjectName と同様に、TargetObjectName は URL エンコードされている必要があります。
  • シンボリックリンクのリンク先のターゲットオブジェクトをシンボリックリンクにすることはできません。
x-oss-storage-class String いいえ ターゲットオブジェクトのストレージクラス。
有効な値:
  • Standard
  • IA
  • Archive

サポートされている API:PutObject、InitMultipartUpload、AppendObject、PutObjectSymlink、CopyObject

  • PutObjectSymlink のストレージクラスを IA またはアーカイブに設定しないことを推奨します。IA またはアーカイブのオブジェクトが 64 KB より小さい場合でも、64 KB で課金されるためです。
  • オブジェクトをバケットにアップロードする際、x-oss-storage-class の値を指定すると、バケットのストレージクラスにかかわらず、アップロードするオブジェクトのストレージクラスは、指定した x-oss-storage-class の値になります。 たとえば、IA ストレージクラスのバケットにオブジェクトをアップロードする際、x-oss-storage-class の値を Standard に指定した場合、オブジェクトのストレージクラスは Standard になります。

詳細分析

  • シンボリックリンクの作成時、次の項目はチェックされません。
    • ターゲットオブジェクトが存在するかどうか。
    • ターゲットオブジェクトのストレージクラスが有効かどうか。
    • ユーザーがターゲットオブジェクトにアクセスする権限を持っているかどうか。

    GetObject など、ターゲットオブジェクトにアクセスする API では、これらのチェックが行われます。

  • 追加するオブジェクトが既に存在し、なおかつユーザーがそのオブジェクトにアクセスできる場合、既存のオブジェクトは追加されたオブジェクトで上書きされ、200 OK メッセージが返されます。
  • PutSymlink リクエストに x-oss-meta- で始まるパラメーターが含まれている場合、パラメーターは x-oss-meta-location などのユーザーメタと見なされます。 1 つのオブジェクトに x-oss-meta- で始まるパラメーターを複数設定することができます。 ただし、すべてのユーザーメタの合計サイズは 8 KB 以下にしてください。

  • 通常のリクエスト例

    PUT /link-to-oss.jpg?symlink HTTP/1.1 
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
    Cache-control: no-cache 
    Content-Disposition: attachment;filename=oss_download.jpg 
    Date: Tue, 08 Nov 2016 02:00:25 GMT 
    Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:kZoYNv66bsmc10+dcGKw5x2****= x-oss-symlink-target: oss****
    x-oss-storage-class: Standard

    レスポンス例

    HTTP/1.1 200 OK
    Server: AliyunOSS
    Date: Tue, 08 Nov 2016 02:00:25 GMT
    Content-Length: 0
    Connection: keep-alive
    x-oss-request-id: 582131B9109F4EE66CDE56A5
    ETag: "0A477B89B4602AA8DECB8E19BFD4****"
  • ターゲットオブジェクトの特定のバージョンをリンク先とするシンボルリンクを作成するために開始されたリクエストの例

    PUT /link-to-oss.jpg?symlink HTTP/1.1 
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
    Date: Tue, 09 Apr 2019 06:50:48 GMT 
    Authorization: OSS o3shiyktjw16xw1:NVXXKiyUJ2tg07PxINinU0eO****
    x-oss-symlink-target: oss.jpg

    レスポンス例

    HTTP/1.1 200 OK
    Server: AliyunOSS
    Date: Tue, 09 Apr 2019 06:50:48 GMT
    Content-Length: 0
    Connection: keep-alive
    x-oss-version-id: CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh****
    x-oss-request-id: 5CAC40C8B7AEADE01700064B
    ETag: "136A5E127272200EDAB170DD84DE****"

SDK

この API の SDK は次のとおりです。

エラーコード

エラーコード HTTP ステータスコード 説明
InvalidArgument 400 x-oss-storage-class の値が無効です。