
# 生成下载地址 - CreateDownloadUrl
#### 功能介绍
生成企业自研技能包的OBS预签名下载地址。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/Workspace/doc?api=CreateDownloadUrl)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-workspace/workspace_09_0128.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /v3/ai-agents/skills/{skill_id}/packages/{package_id}/download-url
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述     |
|:---|:---|:---|:---|
| skill_id   | 是    | String | 技能标识。  |
| package_id | 是    | String | 技能包标识。 |
   
#### 请求参数
表2请求Header参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| X-Language     | 否    | String | 语言，用于国际化。 - en-us：英文   - zh-cn：中文    |
| X-Client-Token | 否    | String | 幂等性标识，UUID格式。 创建类接口携带该请求头，服务端据此实现幂等控制；响应头返回相同值。                                                                                                                                                                                                                                                                                             |
   
表3请求Body参数 
| 参数     | 是否必选 | 参数类型   | 描述           |
|:---|:---|:---|:---|
| region | 是    | String | 指定下载 region。 |
   
#### 响应参数
**状态码：200**
表4响应Header参数 
| 参数           | 参数类型   | 描述 |
|:---|:---|:---|
| X-Request-Id | String | -  |
   
表5响应Body参数 
| 参数             | 参数类型   | 描述                         |
|:---|:---|:---|
| download_url   | String | OBS 预签名下载地址。               |
| obs_bucket     | String | OBS 桶名。                    |
| obs_object_key | String | OBS 对象键。                   |
| expires_at     | String | 下载地址过期时间（ISO8601格式，UTC时区）。 |
   
**状态码：400**
表6响应Header参数 
| 参数           | 参数类型   | 描述 |
|:---|:---|:---|
| X-Request-Id | String | -  |
   
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
**状态码：401**
表8响应Header参数 
| 参数           | 参数类型   | 描述 |
|:---|:---|:---|
| X-Request-Id | String | -  |
   
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
**状态码：403**
表10响应Header参数 
| 参数           | 参数类型   | 描述 |
|:---|:---|:---|
| X-Request-Id | String | -  |
   
表11响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
**状态码：404**
表12响应Header参数 
| 参数           | 参数类型   | 描述 |
|:---|:---|:---|
| X-Request-Id | String | -  |
   
表13响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
**状态码：500**
表14响应Header参数 
| 参数           | 参数类型   | 描述 |
|:---|:---|:---|
| X-Request-Id | String | -  |
   
表15响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
#### 请求示例
```
/v3/ai-agents/skills/skill-uuid-002/packages/pkg-uuid-010/download-url
{
  "region" : "cn-north-7"
}
```
#### 响应示例
**状态码：200**
操作成功。
```
{
  "download_url" : "https://wks-skills-cn-north-7.obs.cn-north-7.myhuaweicloud.com/skills/internal-doc-helper/1.0.0/internal-doc-helper-1.0.0.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20260601T103000Z&X-Amz-Expires=3600&...",
  "obs_bucket" : "wks-skills-cn-north-7",
  "obs_object_key" : "skills/internal-doc-helper/1.0.0/internal-doc-helper-1.0.0.zip",
  "expires_at" : "2026-06-01T11:30:00Z"
}
```
#### 状态码
| 状态码 | 描述                     |
|:---|:---|
| 200 | 操作成功。                  |
| 400 | 由于包含语法错误，当前请求无法被服务器理解。 |
| 401 | 鉴权失败。                  |
| 403 | 没有操作权限。                |
| 404 | 找不到资源。                 |
| 500 | 服务内部错误。                |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-workspace/ErrorCode.html)。
