创建扩展文件-CreateExtensionFile
功能介绍
此接口用于创建扩展文件。接口基于地图文件的sha256判断扩展文件是否已存在,如果扩展文件不存在,响应中提供预签链接用于上传文件。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
octopus:simBatch:create
Write
-
-
-
-
URI
POST https://{hostURL}/v2/{project_id}/sim/pm/extensions
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 项目ID,获取方法请参见获取项目ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 参数解释: 扩展文件名称。 约束限制: 不涉及 取值范围: 最大长度64位,支持中文,字母,数字及下划线命名。 默认取值: 不涉及 |
| description | 否 | String | 参数解释: 扩展文件描述。 约束限制: 不涉及 取值范围: 最大长度256位,支持中文,字母,数字及下划线命名。 默认取值: 不涉及 |
| mount_path | 是 | String | 参数解释: 挂载目录,需绝对路径。 约束限制: 不涉及 取值范围: 最大长度256位,支持中文,字母,数字及下划线命名,不允许挂载系统目录[/opt, /boot, /dev, /etc, /lib, /proc, /sys, /usr]。 默认取值: 不涉及 |
| file | 是 | FileCreateSrlz object | 参数解释: 扩展文件信息。 约束限制: 仅支持以下文件类型:[.py, .json, .zip, .trt, .tar] |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| sha256 | 是 | String | 参数解释: 文件SHA256值。 约束限制: 必须是有效的SHA256字符串,可以使用本地哈希工具计算文件的SHA256值。 取值范围: 不涉及。 默认取值: 不涉及 |
| post | 是 | PostResponse object | 参数解释: POST预签链接信息,用于上传文件。 约束限制: 不涉及 |
| filename | 是 | String | 参数解释: 场景文件名。 约束限制: 场景文件为OpenSCENARIO格式。 取值范围: 长度范围[0-255]。 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| url | 否 | String | 参数解释: 下一页结果集资源地址。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及 |
| fields | 否 | PostResponseField object | 参数解释: POST上传签名信息,需要在请求时携带。 约束限制: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| key | 否 | String | 参数解释: Post预签链接Key字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| x-amz-algorithm | 否 | String | 参数解释: Post预签链接x-amz-algorithm字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| x-amz-credential | 否 | String | 参数解释: Post预签链接x-amz-credential字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| x-amz-date | 否 | String | 参数解释: Post预签链接x-amz-date字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| policy | 否 | String | 参数解释: Post预签链接policy字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| x-amz-signature | 否 | String | 参数解释: Post预签链接x-amz-signature字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
响应参数
状态码:201
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释: 扩展文件名称。 约束限制: 不涉及 取值范围: 最大长度64位,支持中文,字母,数字及下划线命名。 默认取值: 不涉及 |
| description | String | 参数解释: 扩展文件描述。 约束限制: 不涉及 取值范围: 最大长度256位,支持中文,字母,数字及下划线命名。 默认取值: 不涉及 |
| mount_path | String | 参数解释: 挂载目录,需绝对路径。 约束限制: 不涉及 取值范围: 最大长度256位,支持中文,字母,数字及下划线命名,不允许挂载系统目录[/opt, /boot, /dev, /etc, /lib, /proc, /sys, /usr]。 默认取值: 不涉及 |
| url | String | 参数解释: 扩展文件资源地址。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及 |
| id | Integer | 参数解释: 扩展文件ID。 约束限制: 不涉及。 取值范围: 不涉及 默认取值: 不涉及 |
| created_at | Double | 参数解释: 创建时间。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| updated_at | Double | 参数解释: 更新时间。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| file | FileCreateSrlz object | 参数解释: 扩展文件信息。 约束限制: 仅支持以下文件类型:[.py, .json, .zip, .trt, .tar] |
| status | Integer | 参数解释: 创建扩展文件状态信息。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| url | String | 参数解释: 文件资源地址。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及 |
| sha256 | String | 参数解释: 文件SHA256值。 约束限制: 必须是有效的SHA256字符串,可以使用本地哈希工具计算文件的SHA256值。 取值范围: 不涉及。 默认取值: 不涉及 |
| created_at | Double | 参数解释: 创建时间。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| updated_at | Double | 参数解释: 更新时间。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| post | PostResponse object | 参数解释: POST预签链接信息,用于上传文件。 约束限制: 不涉及 |
| put_url | String | 参数解释: PUT预签链接地址,用于上传文件。优先使用POST方法上传。 约束限制: 不涉及 取值范围: 不涉及。 默认取值: 不涉及 |
| get_url | String | 参数解释: GET地址,用于下载文件。 约束限制: 不涉及 取值范围: 不涉及。 默认取值: 不涉及 |
| expire | Integer | 参数解释: 预签链接失效时长。 约束限制: 不涉及。 取值范围: 大于0 默认取值: 600 |
| ready | Boolean | 参数解释: 文件上传状态。 约束限制: 当前未使用该参数。 取值范围: · true:上传完成 · false:上传未完成 默认取值: 不涉及 |
| filename | String | 参数解释: 场景文件名。 约束限制: 场景文件为OpenSCENARIO格式。 取值范围: 长度范围[0-255]。 默认取值: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| url | String | 参数解释: 下一页结果集资源地址。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及 |
| fields | PostResponseField object | 参数解释: POST上传签名信息,需要在请求时携带。 约束限制: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key | String | 参数解释: Post预签链接Key字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| x-amz-algorithm | String | 参数解释: Post预签链接x-amz-algorithm字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| x-amz-credential | String | 参数解释: Post预签链接x-amz-credential字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| x-amz-date | String | 参数解释: Post预签链接x-amz-date字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| policy | String | 参数解释: Post预签链接policy字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| x-amz-signature | String | 参数解释: Post预签链接x-amz-signature字段,在创建请求时需要添加到请求头。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求示例
创建扩展文件
POST https://{endpoint}/v2/{project_id}/sim/pm/extensions
{
"name" : "new_model",
"description" : "new_model",
"file" : {
"sha256" : "8717ae1874a4b063267211bb575373b7eb73aaa99d6ed531352fff3776dc3a60",
"filename" : "new_model.py"
},
"mount_path" : "/srv/code"
} 响应示例
状态码:201
请求成功
{
"url" : "/v2/my_project_id/sim/pm/extensions/49/",
"id" : 49,
"created_at" : 1.699954029362022E9,
"updated_at" : 1.699954029362044E9,
"status" : 10,
"file" : {
"url" : "/v2/my_project_id/sim/pm/files/file_sha256_info/",
"sha256" : "file_sha256_info",
"created_at" : 1.699954029362022E9,
"updated_at" : 1.699954029362044E9,
"post" : {
"url" : "file_obs_url_info",
"fields" : {
"key" : "sim/ifiles/extension/file_sha256_info.py",
"x-amz-algorithm" : "AWS4-HMAC-SHA256",
"x-amz-credential" : "CIMxxxY/20250507/cn-north-7/s3/aws4_request",
"x-amz-date" : "20250507T025739Z",
"policy" : "policy_info",
"x-amz-signature" : "signature_info_id"
}
},
"put_url" : "put_url_info",
"get_url" : null,
"expire" : 600,
"ready" : false,
"filename" : "new_model.py"
},
"name" : "new_model",
"description" : "new_model",
"mount_path" : "/srv/code"
} 状态码
| 状态码 | 描述 |
|---|---|
| 201 | 请求成功 |
错误码
请参见错误码。