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

Object Storage Service:PutSymlink

最終更新日:Feb 23, 2024

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

使用上の注意

  • PutSymlink操作を呼び出してシンボリックリンクを作成する場合、Object Storage Service (OSS) は、宛先オブジェクトが存在するかどうか、宛先オブジェクトのストレージクラスが有効かどうか、または宛先オブジェクトにアクセスできるかどうかをチェックしません。
  • シンボリックリンクのアクセス制御リスト (ACL) とシンボリックリンクが指す宛先オブジェクトのACLは、GetObjectなどのAPI操作が呼び出されて宛先オブジェクトにアクセスするときにチェックされます。
  • PutSymlinkリクエストに名前の先頭にx-oss-meta-が付いているパラメーターが含まれている場合、そのパラメーターはシンボリックリンクのユーザーメタデータと見なされます。 例: x-oss-meta-location。 オブジェクトには、同様のパラメーターを複数含めることができます。 ただし、オブジェクトのすべてのユーザーメタデータの合計サイズは8 KBを超えることはできません。
  • デフォルトでは、作成するオブジェクトが既に存在し、既存のオブジェクトにアクセスする権限がある場合、新しいオブジェクトは既存のオブジェクトを上書きし、OSSはOK 200を返します。

バージョン管理

宛先オブジェクトのシンボリックリンクを作成し、そのシンボリックリンクを宛先オブジェクトの現在のバージョンに向けることができます。

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

リクエスト構文

PUT /ObjectName?symlink HTTP/1.1
ホスト: BucketName.oss-cn-hangzhou.aliyuncs.com
日付: GMT日付
権限付与: SignatureValue
x-oss-symlink-target: TargetObjectName 

リクエストヘッダー

ヘッダーデータ型必須説明
x-oss-forbid-overwriteString任意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-targetString 必須

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

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

  • ObjectName と同様に、TargetObjectName は URL エンコードされている必要があります。
  • シンボリックリンクが指す宛先オブジェクトをシンボリックリンクにすることはできません。
x-oss-object-aclString 任意オブジェクトのACL。 デフォルト値:default。
有効な値:
  • デフォルト: オブジェクトのACLは、オブジェクトが格納されているバケットのACLと同じです。
  • private: オブジェクトのACLがprivateです。 オブジェクトの読み取りおよび書き込み権限を持つのは、オブジェクトの所有者および許可されたユーザーのみです。
  • public-read: オブジェクトのACLはpublic-readです。 オブジェクトの読み取りおよび書き込み権限を持つのは、オブジェクトの所有者および許可されたユーザーのみです。 他のユーザーには、オブジェクトに対する読み取り権限のみがあります。 オブジェクトのACLをこの値に設定する場合は注意してください。
  • public-read-write: オブジェクトのACLはpublic-read-writeです。 すべてのユーザーは、オブジェクトに対する読み取りおよび書き込み権限を持っています。 オブジェクトのACLをこの値に設定する場合は注意してください。

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

x-oss-storage-classString任意

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

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

有効な値:
  • 標準
  • IA
  • アーカイブ

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

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

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

レスポンスヘッダー

PutSymlink要求に対する応答は、共通の応答ヘッダのみを含む。 詳細については、「共通レスポンスヘッダー」をご参照ください。

  • PUT /link-to-oss.jpg?symlink HTTP/1.1リクエスト
    のサンプル
    ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
    Cache-control: no-cache
    Content-Disposition: attachment;filename=oss_download.jpg
    日付: 11月2016日火曜日02:00:25 GMT
    権限付与: OSS qn6qrrqxo2oawuk53otfjbyc:kZoYNv66bsmc10 + dcGKw5x2 ****=
    x-oss-symlink-target: oss ****
    x-oss-storage-class: 標準 
    成功応答
    のサンプルHTTP/1.1 200 OK
    サーバー: AliyunOSS
    日付: 11月2016日火曜日02:00:25 GMT
    コンテンツ長: 0
    接続: キープアライブ
    x-oss-request-id: 582131B9109F4EE66CDE56A5
    ETag: "0A477B89B4602AA8DECB8E19BFD4 ****" 
  • バージョン管理されたバケット
    のリクエストのサンプルPUT /link-to-oss.jpg?symlink HTTP/1.1
    ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
    日付: 4月2019日火曜日06:50:48 GMT
    権限付与: OSS o3shiyktjw16xw1:NVXXKiyUJ2tg07PxINinU0eO ****
    x-oss-symlink-target: oss.jpg 
    成功応答
    のサンプルHTTP/1.1 200 OK
    サーバー: AliyunOSS
    日付: 4月2019日火曜日06:50:48 GMT
    コンテンツ長: 0
    接続: キープアライブ
    x-oss-version-id: CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh ****
    x-oss-request-id: 5CAC40C8B7AEADE01700064B
    ETag: "136A5E127272200EDAB170DD84DE ****" 

OSS SDK

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

エラーコード

エラーコードHTTPステータスコード説明
InvalidArgument400StorageClassの値が無効な場合に返されるエラーメッセージ。
FileAlreadyExists409同じ名前のオブジェクトが既に存在し、リクエストでx-oss-forbid-overwriteヘッダーがtrueに設定されている場合に返されるエラーメッセージ。
FileImmutable409削除または変更するデータが保持ポリシーによって保護されている場合に返されるエラーメッセージ。