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

Object Storage Service:PutSymlink

最終更新日:Jun 18, 2025

宛先オブジェクトを指すシンボリックリンクを作成します。 シンボリックリンクを使用して、宛先オブジェクトにアクセスできます。

使用上の注意

  • PutSymlink 操作を呼び出してシンボリックリンクを作成する場合、Object Storage Service(OSS)は、宛先オブジェクトが存在するかどうか、宛先オブジェクトのストレージクラスが有効かどうか、または宛先オブジェクトにアクセスできるかどうかを確認しません。

  • シンボリックリンクのアクセス制御リスト(ACL)と、シンボリックリンクが指す宛先オブジェクトの ACL は、GetObject などの API 操作が宛先オブジェクトへのアクセスに呼び出されたときにチェックされます。

  • PutSymlink リクエストに、名前のプレフィックスが x-oss-meta- であるパラメーターが含まれている場合、そのパラメーターはシンボリックリンクのユーザーメタデータと見なされます。 例:x-oss-meta-location。 1 つのオブジェクトに複数のパラメーターを含めることができます。 ただし、オブジェクトのすべてのユーザーメタデータの合計サイズは 8 KB を超えることはできません。

  • デフォルトでは、作成するオブジェクトがすでに存在し、既存のオブジェクトにアクセスする権限がある場合、新しいオブジェクトは既存のオブジェクトを上書きし、OSS は 200 OK を返します。

バージョン管理

宛先オブジェクトのシンボリックリンクを作成し、シンボリックリンクを宛先オブジェクトの現在のバージョンにポイントできます。

シンボリックリンクは複数のバージョンを持つことができます。 PutSymlink 操作を呼び出して、シンボリックリンクの各バージョンを異なるオブジェクトにポイントできます。 この場合、バージョンの ID は OSS によって生成され、x-oss-version-id ヘッダーとして応答で返されます。

権限

デフォルトでは、Alibaba Cloud アカウントにはフル権限があります。 Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールには、デフォルトでは権限がありません。 Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたは バケットポリシーを通じて操作権限を付与する必要があります。

API

アクション

定義

PutSymlink

oss:PutObject

オブジェクトのシンボリックリンクを作成します。

oss:PutObjectTagging

オブジェクトのシンボリックリンクを作成するときに、x-oss-tagging を介してオブジェクトタグを指定する場合、この権限が必要です。

リクエスト構文

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-forbid-overwrite

String

いいえ

PutSymlink 操作で同名のオブジェクトを上書きするかどうかを指定します。

  • x-oss-forbid-overwrite ヘッダーを指定しない場合、または x-oss-forbid-overwrite ヘッダーを false に設定した場合、同名のオブジェクトは上書きされます。

  • x-oss-forbid-overwrite ヘッダーを true に設定した場合、同名のオブジェクトは上書きできません。

x-oss-forbid-overwrite ヘッダーを指定すると、OSS の 1 秒あたりのクエリ数(QPS)のパフォーマンスが低下する可能性があります。 多数のリクエスト(QPS が 1,000 を超える)で x-oss-forbid-overwrite ヘッダーを指定する場合は、テクニカルサポートにお問い合わせください。

説明

宛先バケットのバージョン管理が有効または一時停止されている場合、x-oss-forbid-overwrite ヘッダーは有効になりません。 この場合、PutSymlink 操作は同名のオブジェクトを上書きします。

x-oss-symlink-target

String

はい

シンボリックリンクが指す宛先オブジェクト。

宛先オブジェクトの命名規則は、オブジェクトの命名規則と同じです。

  • ObjectName と同様に、TargetObjectName は URL エンコードする必要があります。

  • シンボリックリンクが指す宛先オブジェクトは、シンボリックリンクにすることはできません。

x-oss-object-acl

String

いいえ

オブジェクトの ACL。 デフォルト値:default。

有効な値:

  • default: オブジェクトの ACL は、オブジェクトが格納されているバケットの ACL と同じです。

  • private: オブジェクトの ACL は非公開です。 オブジェクトの所有者と承認されたユーザーのみが、オブジェクトに対する読み取りおよび書き込み権限を持ちます。

  • public-read: オブジェクトの ACL は public-read です。 オブジェクトの所有者と承認されたユーザーのみが、オブジェクトに対する読み取りおよび書き込み権限を持ちます。 他のユーザーは、オブジェクトに対する読み取り権限のみを持ちます。 オブジェクトの ACL をこの値に設定する場合は注意してください。

  • public-read-write: オブジェクトの ACL は public-read-write です。 すべてのユーザーが、オブジェクトに対する読み取りおよび書き込み権限を持ちます。 オブジェクトの ACL をこの値に設定する場合は注意してください。

オブジェクト ACL の詳細については、「オブジェクト ACL」をご参照ください。

x-oss-storage-class

String

いいえ

オブジェクトのストレージクラス。

オブジェクトのアップロード時に x-oss-storage-class ヘッダーを指定した場合、アップロードされたオブジェクトのストレージクラスは、オブジェクトがアップロードされるバケットのストレージクラスに関係なく、指定されたヘッダー値になります。 たとえば、Infrequent Access(IA)バケットにオブジェクトをアップロードするときに x-oss-storage-class を Standard に設定すると、オブジェクトは Standard オブジェクトとして保存されます。

有効な値:

  • Standard

  • IA

  • Archive

IA オブジェクトと Archive オブジェクトの最小請求サイズは 64 KB です。 PutSymlink リクエストでは、ストレージクラスを IA または Archive に設定しないことをお勧めします。

ストレージクラスの詳細については、「概要」をご参照ください。

Host や Date など、PutSymlink リクエストに含まれる一般的なリクエストヘッダーの詳細については、「一般的なリクエストヘッダー」をご参照ください。

レスポンスヘッダー

PutSymlink リクエストへのレスポンスには、一般的なレスポンスヘッダーのみが含まれています。 詳細については、「一般的なレスポンスヘッダー」をご参照ください。

  • リクエストの例

    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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-disposition,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e 
    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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    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****"

OSS SDK

次のプログラミング言語の OSS SDK を使用して、PutSymlink 操作を呼び出すことができます。

ossutil

PutSymlink 操作に対応する ossutil コマンドについては、「put-symlink」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

InvalidArgument

400

StorageClass の値が無効なために返されるエラーメッセージ。

FileAlreadyExists

409

同名のオブジェクトがすでに存在し、リクエストで x-oss-forbid-overwrite ヘッダーが true に設定されているために返されるエラーメッセージ。

FileImmutable

409

削除または変更するデータが保持ポリシーによって保護されているために返されるエラーメッセージ。