创建软链接-PutSymlink
功能介绍
调用本接口可以为指定对象创建软链接,您可以通过该软链接访问目标对象。
注意事项
- 未开启多版本,创建软链接时,如果同一路径下存在同名软链接,则旧链接会被新链接覆盖。开启多版本时,旧链接会变为历史版本,新上传的软链接成为当前版本。
- 未开启多版本,创建软链接时,如果同一路径下存在同名对象(非链接),则对象会被软链接覆盖。开启多版本时,旧对象会变为历史版本,新上传的软链接成为对象的当前版本。
版本控制
开启多版本控制后,同一目标对象可能存在多个版本(如v1、v2),软链接只能指向目标对象的最新版本。
开启多版本控制后,软链接本身也可以有多个版本,每个版本拥有自己的VersionID(版本ID),每个不同的版本可以指向不同的目标对象。
授权信息
您必须是桶拥有者或拥有创建软链接的权限,才能调用本接口,建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见OBS不同权限控制方式的区别。
- 如果使用IAM授权,那么请在“角色与策略授权”、“身份策略授权”两种IAM授权方式中选择一种,并配置相应权限:
- 如果使用角色与策略授权(旧版IAM,即IAM v3接口),需具备obs:object:PutObject权限,授权操作请参见创建IAM自定义策略。
- 如果使用身份策略授权(新版IAM,即IAM v5接口),如下表所示,需具备obs:object:putObject权限,授权操作请参见创建IAM自定义身份策略。
授权项
Action
访问级别
Access Level
资源类型(*为必须)
Resource Type (*: required)
Condition Key
Alias
依赖的授权项
Dependencies
obs:object:putObject
Permission_management
object *
-
- kms:cmk:create
- kms:cmk:list
- kms:cmk:createDataKey
- functiongraph:function:invokeAsync
- functiongraph:workflow:invoke
- smn:topic:publish
-
- obs:EpochTime
- obs:SourceIp
- obs:TlsVersion
- obs:CustomDomain
- obs:x-obs-acl
- 如果使用桶策略进行授权,需具备obs:object:PutObject权限,具体操作请参见自定义创建桶策略。
URI
PUT /
请求消息样式
PUT /objectName?symlink HTTP/1.1
Host: bucketname.obs.cn-north-4.myhuaweicloud.com
Date: Date
Authorization: SignatureValue
x-obs-symlink-target: TargetObjectName URI参数(URI Parameters)
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| symlink | 是 | String | 参数解释: 用于标识API接口与软链接有关。 约束限制: 计算签名时,请在CanonicalizedResource中添加“/BucketName/ObjectName?symlink”,详情参见签名计算。 取值范围: symlink 默认取值: 不涉及 |
请求头参数(Request headers)
该请求使用的消息头如表2所示。
| 消息头名称 | 消息头类型 | 是否必选 | 描述 |
|---|---|---|---|
| x-obs-acl | String | 否 | 参数解释: 创建软链接时,可以加上此消息头设置对象的权限控制策略,使用的策略为预定义的常用策略。 约束限制: 预定义策略需要以字符串形式呈现。 取值范围:
各策略详细说明见ACL。 默认取值: private |
| x-obs-symlink-target | String | 是 | 参数解释: 软链接指向的目标对象。 约束限制: 需要对目标对象名进行URL编码。 取值范围: 长度大于0且不超过1024的字符串。 默认取值: 不涉及 |
| x-obs-storage-class | String | 否 | 参数解释: 指定软链接的存储类型。 约束限制: 建议不要将软链接的存储类型指定为COLD或DEEP_ARCHIVE。 取值范围:
默认取值: 如果未设置此参数,软链接默认继承桶的存储类别。 |
| x-obs-meta-* | String | 否 | 参数解释: 软链接的自定义元数据。创建软链接时,可以在HTTP请求中加入以“x-obs-meta-”开头的消息头,用来加入自定义的元数据,以便对软链接进行自定义管理。当用户获取此软链接或查询此软链接元数据时,加入的自定义元数据将会在返回消息的消息头中出现。更多说明详见对象自定义元数据介绍。 约束限制:
取值范围: 不涉及 默认取值: 不涉及 |
响应消息样式
1 2 3 | HTTP/1.1 status_code Content-Length: length Content-Type: type |
响应头 (Response Headers)
该请求的响应消息使用公共响应头,具体请参考表1。
请求示例:创建软链接
PUT /link-to-obs.jpg?symlink HTTP/1.1 User-Agent: curl/7.29.0 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Cache-control: no-cache Content-Disposition: attachment;filename=obs_download.jpg Date: Tue, 08 Nov 2016 02:00:25 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:gYqplLq30dEX7GMi2qFWyjdFsyw= x-obs-symlink-target: target-object-name x-obs-storage-class: Standard
响应示例:创建软链接
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BB7800000164845759E4F3B39ABEE55E ETag: "d41d8cd98f00b204e9800998ecf8427e" x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSReVRNuas0knI+Y96iXrZA7BLUgj06Z Date: Wed, 01 Jul 2015 04:13:55 GMT Content-Length: 0
请求示例:创建软链接时同时设置ACL
PUT /link-to-obs.jpg?symlink HTTP/1.1 User-Agent: curl/7.29.0 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Cache-control: no-cache Content-Disposition: attachment;filename=obs_download.jpg Date: Tue, 08 Nov 2016 02:00:25 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:gYqplLq30dEX7GMi2qFWyjdFsyw= x-obs-symlink-target: target-object-name x-obs-acl: private
响应示例:创建软链接时同时设置ACL
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BB7800000164845759E4F3B39ABEE55E ETag: "d41d8cd98f00b204e9800998ecf8427e" x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSReVRNuas0knI+Y96iXrZA7BLUgj06Z Date: Wed, 01 Jul 2015 04:13:55 GMT Content-Length: 0
请求示例:创建软链接时同时设置自定义元数据
PUT /link-to-obs.jpg?symlink HTTP/1.1 User-Agent: curl/7.29.0 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Cache-control: no-cache Content-Disposition: attachment;filename=obs_download.jpg Date: Tue, 08 Nov 2016 02:00:25 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:gYqplLq30dEX7GMi2qFWyjdFsyw= x-obs-symlink-target: target-object-name Content-Type:application/zip x-obs-meta-test:meta
响应示例:创建软链接时同时设置自定义元数据
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BB7800000164845759E4F3B39ABEE55E ETag: "d41d8cd98f00b204e9800998ecf8427e" x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSReVRNuas0knI+Y96iXrZA7BLUgj06Z Date: Wed, 01 Jul 2015 04:13:55 GMT Content-Length: 0