更新时间:2026-07-30 GMT+08:00
分享

创建软链接-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 *

      g:EnterpriseProjectId

      -

      • 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 /

调用方法

请参见如何调用API。调用前需要先计算API签名,并将签名添加到请求中。

请求消息样式

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)

表1 URI参数

参数

是否必选

参数类型

描述

symlink

String

参数解释

用于标识API接口与软链接有关。

约束限制

计算签名时,请在CanonicalizedResource中添加“/BucketName/ObjectName?symlink”,详情参见签名计算

取值范围

symlink

默认取值

不涉及

请求头参数(Request headers)

该请求使用的消息头如表2所示。

表2 请求头参数(Request headers)

消息头名称

消息头类型

是否必选

描述

x-obs-acl

String

参数解释:

创建软链接时,可以加上此消息头设置对象的权限控制策略,使用的策略为预定义的常用策略。

约束限制

预定义策略需要以字符串形式呈现。

取值范围:

  • private:私有
  • public-read:公共读
  • public-read-write:公共读写

各策略详细说明见ACL

默认取值:

private

x-obs-symlink-target

String

参数解释:

软链接指向的目标对象。

约束限制

需要对目标对象名进行URL编码。

取值范围

长度大于0且不超过1024的字符串。

默认取值:

不涉及

x-obs-storage-class

String

参数解释:

指定软链接的存储类型。

约束限制:

建议不要将软链接的存储类型指定为COLD或DEEP_ARCHIVE。

取值范围

  • STANDARD:标准存储
  • WARM:低频访问存储
  • COLD:归档存储
  • DEEP_ARCHIVE:深度归档存储

默认取值:

如果未设置此参数,软链接默认继承桶的存储类别。

x-obs-meta-*

String

参数解释:

软链接的自定义元数据。创建软链接时,可以在HTTP请求中加入以“x-obs-meta-”开头的消息头,用来加入自定义的元数据,以便对软链接进行自定义管理。当用户获取此软链接或查询此软链接元数据时,加入的自定义元数据将会在返回消息的消息头中出现。更多说明详见对象自定义元数据介绍

约束限制:

  • 一个软链接可以有自定义元数据,但所有自定义元数据总大小不能超过8KB。
  • 自定义元数据的key值不区分大小写,OBS统一转为小写进行存储。value值区分大小写。
  • 自定义元数据key-value对都必须符合US-ASCII。如果一定要使用非ASCII码或不可识别字符,需要客户端自行做编解码处理,可以采用URL编码或者Base64编码,服务端不会做解码处理。

取值范围

不涉及

默认取值:

不涉及

响应消息样式

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

相关文档