
# 获取软链接-GetSymlink
#### 功能介绍
调用此接口获取软链接，您可以获取软链接对象本身的信息，以及软链接对象指向目标对象的对象名。
#### 版本控制
默认获取软链接当前版本指向的目标对象。允许通过指定versionId来获取指定版本。
如果软链接的当前版本为删除标记，且不指定versionId，OBS会返回404，在响应头中返回x-obs-delete-marker为true以及版本ID（x-obs-version-id）。因为删除标记没有关联数据，因此也没有软链接指向的目标对象。
如果软链接的当前版本为删除标记，且指定versionId，OBS会返回200，在响应头中不会返回x-obs-delete-marker。
#### 授权信息
您必须是对象拥有者或拥有获取对象元数据的权限，才能调用本接口，建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见[OBS不同权限控制方式的区别](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html)。
- 如果使用**IAM授权** ，那么请在"角色与策略授权"、"身份策略授权"两种IAM授权方式中选择一种，并配置相应权限：
  - 如果使用**角色与策略授权** （旧版IAM，即IAM v3接口），需具备**obs:object:getObject（未开启多版本）** 、**obs:object:getObjectVersion（开启或暂停多版本）** 权限，授权操作请参见[创建IAM自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。
  
  - 如果使用**身份策略授权** （新版IAM，即IAM v5接口），如下表所示，需具备**obs:object:GetObject（未开启多版本）** 、**obs:object:GetObjectVersion（开启或暂停多版本）** 权限，授权操作请参见[创建IAM自定义身份策略](https://support.huaweicloud.com/usermanual-iam5/iam_01_0917.html)。
    
    | 授权项 Action                                                         | 访问级别 Access Level | 资源类型（\*为必须） Resource Type (\*: required) | [条件键](https://support.huaweicloud.com/api-obs/obs_04_0112.html#ZH-CN_TOPIC_0000002375307974__condition_table) Condition Key                                                                                                                                                                                                                                                                                                                                                  | [别名](https://support.huaweicloud.com/iam5_faq/iam_01_1103.html) Alias | 依赖的授权项 Dependencies                     |
    |:---|:---|:---|:---|:---|:---|
    | obs:object:getObject（未开启多版本） obs:object:getObjectVersion（开启或暂停多版本） | Read     | object \*                                                                               | - [g:EnterpriseProjectId](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2)  - [obs:versionId]                                                                                                   | -                                                                                                                 | obs:object:getObjectRetention  |
    | obs:object:getObject（未开启多版本） obs:object:getObjectVersion（开启或暂停多版本） | Read     | -                                                                                       | - obs:EpochTime  - obs:SourceIp  - obs:TlsVersion  - obs:CustomDomain   | -                                                                                                                 | obs:object:getObjectRetention  |
       
    
   
- 如果使用**桶策略** 进行授权，需具备**obs:object:GetObject（未开启多版本）** 、**obs:object:GetObjectVersion（开启或暂停多版本）** 权限，具体操作请参见[自定义创建桶策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0123.html)。
 
#### URI
GET /
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-obs/obs_04_0006.html)。调用前需要先[计算API签名](https://support.huaweicloud.com/api-obs/obs_04_0009.html)，并将签名添加到请求中。
#### 请求消息样式
```
GET /objectName?symlink HTTP/1.1
Host: bucketname.obs.cn-north-4.myhuaweicloud.com 
Date: Date
Authorization: SignatureValue
```
#### URI参数（URI Parameters）
请求参数说明如[表1]所示。
 表1URI参数（URI Parameters） 
| **参数名称**  | **参数类型** | **是否必选** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| versionId | String   | 否        | **参数解释：** 软链接对象的版本号。 **约束限制：** 不涉及 **取值范围：** 长度为32的字符串。 **默认取值：** 不涉及                                                                                                                                         |
| symlink   | 是        | String   | **参数解释**： 用于标识API接口与软链接有关。 **约束限制**： 计算签名时，请在CanonicalizedResource中添加"/*BucketName* /*ObjectName* ?symlink"，详情参见[签名计算](https://support.huaweicloud.com/api-obs/obs_04_0010.html)。 **取值范围**： symlink **默认取值**： 不涉及 |
   
#### 请求头参数（Request headers）
该请求使用公共请求头，具体参见[表3](https://support.huaweicloud.com/api-obs/obs_04_0007.html#ZH-CN_TOPIC_0136436606__table25197309)。
#### 响应消息样式
```
HTTP/1.1 status_code
Content-Type: type
Date: date
Content-Length: length
Etag: etag
Last-Modified: time
x-obs-symlink-target: target object name
```
#### 响应头 (Response Headers)
本接口的响应头 (Response Headers)如[表2]所示。
 表2响应头 (Response Headers) 
| 消息头名称                | 消息头类型  | 描述                                                                                                                                                                                                      |
|:---|:---|:---|
| x-obs-symlink-target | String | **参数解释：** 软链接指向的目标对象的对象名。如果软链接为删除标记，则不返回此头域。 **取值范围：** 不涉及 |
   
#### 请求示例
```
GET /link-to-obs.jpg?symlink HTTP/1.1
Host: bucketname.obs.cn-north-4.myhuaweicloud.com 
Date: Fri, 24 Feb 2012 06:38:30 GMT
Authorization: authorization
```
#### 响应示例
```
HTTP/1.1 200 OK
Server: OBS
Date: Fri, 24 Feb 2012 06:38:30 GMT
Last-Modified: Fri, 24 Feb 2012 06:07:48 GMT
Content-Length: 0
Connection: keep-alive
x-obs-request-id: 5650BD72207FB30443962F9A
x-obs-symlink-target: example.jpg
ETag: "A797938C31D59EDD08D86188F6D5****"
```
#### 请求示例：指定versionId获取软链接
```
GET /link-to-obs.jpg?symlink&versionId=G0011196D3FBD85400005304000000ED HTTP/1.1
Host: bucketname.obs.cn-north-4.myhuaweicloud.com 
Date: Fri, 24 Feb 2012 06:38:30 GMT
Authorization: authorization
```
#### 响应示例：指定versionId获取软链接
```
HTTP/1.1 200 OK
Server: OBS
Date: Fri, 24 Feb 2012 06:38:30 GMT
Last-Modified: Fri, 24 Feb 2012 06:07:48 GMT
Content-Length: 0
Connection: keep-alive
x-obs-request-id: G0011196D3FBD85400005304000000ED
x-obs-symlink-target: example.jpg
ETag: "A797938C31D59EDD08D86188F6D5****"
```
#### 请求示例：软链接对象为delete-marker对象
```
GET /delete-marker-Symlink-object?symlink HTTP/1.1
Host: bucketname.obs.cn-north-4.myhuaweicloud.com 
Date: Fri, 24 Feb 2012 06:38:30 GMT
Authorization: authorization
```
#### 响应示例：软链接对象为delete-marker对象
```
HTTP/1.1 404 Not Found
Server: OBS
Date: Fri, 24 Feb 2012 06:38:30 GMT
Last-Modified: Fri, 24 Feb 2012 06:07:48 GMT
ETag: "A797938C31D59EDD08D86188F6D5****"
Content-Length: 0
Connection: keep-alive
x-obs-request-id: 5650BD72207FB30443962F9A
x-obs-delete-marker: true
x-obs-version-id:  xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```
