宛先オブジェクトを指すシンボリックリンクを作成します。 シンボリックリンクを使用して、宛先オブジェクトにアクセスできます。
使用上の注意
- 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-overwrite | String | 任意 | PutSymlink操作で同じ名前のオブジェクトを上書きするかどうかを指定します。
x-oss-forbid-overwriteヘッダーを指定すると、OSSの1秒あたりのクエリ (QPS) パフォーマンスが低下する可能性があります。 多数のリクエスト (QPSが1,000を超える) にx-oss-forbid-overwriteヘッダーを指定する場合は、テクニカルサポートにお問い合わせください。 説明 宛先バケットのバージョン管理が有効または一時停止されている場合、x-oss-forbid-overwriteヘッダーは有効になりません。 この場合、PutSymlink操作は同じ名前のオブジェクトを上書きします。 |
x-oss-symlink-target | String | 必須 | シンボリックリンクが指す宛先オブジェクト。 宛先オブジェクトの命名規則は、オブジェクトの命名規則と同じです。
|
x-oss-object-acl | String | 任意 | オブジェクトのACL。 デフォルト値:default。 有効な値:
オブジェクトACLの詳細については、「オブジェクトACL」をご参照ください。 |
x-oss-storage-class | String | 任意 | オブジェクトのストレージクラス。 オブジェクトをアップロードするときにx-oss-storage-classヘッダーを指定した場合、オブジェクトがアップロードされるバケットのストレージクラスに関係なく、アップロードされたオブジェクトのストレージクラスは指定されたヘッダー値になります。 たとえば、低頻度アクセス (IA) バケットにオブジェクトをアップロードするときにx-oss-storage-classをStandardに設定した場合、オブジェクトはStandardオブジェクトとして保存されます。 有効な値:
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ステータスコード | 説明 |
InvalidArgument | 400 | StorageClassの値が無効な場合に返されるエラーメッセージ。 |
FileAlreadyExists | 409 | 同じ名前のオブジェクトが既に存在し、リクエストでx-oss-forbid-overwriteヘッダーがtrueに設定されている場合に返されるエラーメッセージ。 |
FileImmutable | 409 | 削除または変更するデータが保持ポリシーによって保護されている場合に返されるエラーメッセージ。 |