
# 创建场景地图-CreateSceneMap
#### 功能介绍
此接口用于创建OpenDRIVE格式的场景地图。接口基于地图文件的sha256判断地图文件是否已存在，如果地图文件不存在，响应中提供预签链接用于上传地图文件。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-octopus/Permission.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                        | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | octopus:simScenario:create | Write | -           | -   | -  | -      |
     
  
 
#### URI
POST https://{hostURL}/v2/{project_id}/sim/sm/maps
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID，获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-octopus/octopus-10-0020.html)。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
#### 请求参数
表2请求Body参数 
| 参数                | 是否必选 | 参数类型                                                                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| file              | 是    | [FileCreateSrlz] object | **参数解释**： 地图文件信息。 **约束限制**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| version           | 是    | String                                                                                                      | **参数解释**： 地图文件对应的OpenDrive版本。 **约束限制**： 不涉及。 **取值范围**： - *v1.4.0* - v1.4.0   - *v1.5.0* - v1.5.0   - *v1.6.0* - v1.6.0   - *v1.6.1* - v1.6.1   - *v1.7.0* - v1.7.0    **默认取值**： 不涉及 |
| agreement_confirm | 是    | Boolean                                                                                                     | **参数解释**： 是否同意免责声明。 **约束限制**： 必须为True方可使用本服务。 **取值范围**： - *true*：同意   - *false*：不同意    **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
 表3FileCreateSrlz 
| 参数       | 是否必选 | 参数类型                                                                                                    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| sha256   | 是    | String                                                                                                  | **参数解释**： 文件SHA256值。 **约束限制**： 必须是有效的SHA256字符串，可以使用本地哈希工具计算文件的SHA256值。 **取值范围**： 不涉及。 **默认取值**： 不涉及 |
| post     | 是    | [PostResponse] object | **参数解释**： POST预签链接信息，用于上传文件。 **约束限制**： 不涉及                                                                                                                                                                                                                                                                                                                                                                              |
| filename | 是    | String                                                                                                  | **参数解释**： 场景文件名。 **约束限制**： 场景文件为OpenSCENARIO格式。 **取值范围**： 长度范围\[0-255\]。 **默认取值**： 不涉及              |
   
 表4PostResponse 
| 参数     | 是否必选 | 参数类型                                                                                                              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| url    | 否    | String                                                                                                            | **参数解释**： 下一页结果集资源地址。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及 |
| fields | 否    | [PostResponseField] object | **参数解释**： POST上传签名信息，需要在请求时携带。 **约束限制**： 不涉及                                                                                                                                                                                                                                                                                                                                          |
   
 表5PostResponseField 
| 参数               | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| 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**
表6响应Body参数 
| 参数                | 参数类型                                                                                                         | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| url               | String                                                                                                       | **参数解释**： 地图资源地址。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| id                | Integer                                                                                                      | **参数解释**： 地图ID。 **约束限制**： 不涉及。 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| created_at        | Double                                                                                                       | **参数解释**： 创建时间。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| updated_at        | Double                                                                                                       | **参数解释**： 更新时间。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| file              | [FileCreateSrlz] object | **参数解释**： 地图文件信息。 **约束限制**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| version           | String                                                                                                       | **参数解释**： 地图文件对应的OpenDrive版本。 **约束限制**： 不涉及。 **取值范围**： - *v1.4.0* - v1.4.0   - *v1.5.0* - v1.5.0   - *v1.6.0* - v1.6.0   - *v1.6.1* - v1.6.1   - *v1.7.0* - v1.7.0    **默认取值**： 不涉及 |
| agreement_confirm | Boolean                                                                                                      | **参数解释**： 是否同意免责声明。 **约束限制**： 必须为True方可使用本服务。 **取值范围**： - *true*：同意   - *false*：不同意    **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
 表7FileCreateSrlz 
| 参数         | 参数类型                                                                                                     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| 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\]。 **默认取值**： 不涉及                                                                               |
   
 表8PostResponse 
| 参数     | 参数类型                                                                                                               | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| url    | String                                                                                                             | **参数解释**： 下一页结果集资源地址。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及 |
| fields | [PostResponseField] object | **参数解释**： POST上传签名信息，需要在请求时携带。 **约束限制**： 不涉及                                                                                                                                                                                                                                                                                                                                          |
   
 表9PostResponseField 
| 参数               | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| 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/sm/maps/
{
  "version" : "v1.6.0",
  "file" : {
    "sha256" : "8717ae1874a4b063267211bb575373b7eb73aaa99d6ed531352fff3776dc3a60",
    "filename" : "ALKS_Road_straight.xodr"
  }
}
```
#### 响应示例
**状态码：201**
请求成功
```
{
  "url" : "/v2/my_project_id/sim/sm/maps/2631662/",
  "id" : 2631662,
  "created_at" : 1.699954027366838E9,
  "updated_at" : 1.699954027366882E9,
  "file" : {
    "url" : "/v2/my_project_id/sim/sm/files/8717ae1874a4b063267211bb575373b7eb73aaa99d6ed531352fff3776dc3a60/",
    "sha256" : "8717ae1874a4b063267211bb575373b7eb73aaa99d6ed531352fff3776dc3a60",
    "created_at" : 1.699954027363056E9,
    "updated_at" : 1.699954027363114E9,
    "post" : {
      "url" : "https://post_url",
      "fields" : {
        "key" : "sim/ifiles/map/8717ae1874a4b063267211bb575373b7eb73aaa99d6ed531352fff3776dc3a60.xodr",
        "x-amz-algorithm" : "AWS4-HMAC-SHA256",
        "x-amz-credential" : "my-x-amz-credential",
        "x-amz-date" : "20231114T092707Z",
        "policy" : "my-policy",
        "x-amz-signature" : "my-x-amz-signature"
      },
      "put_url" : "my-put-url",
      "get_url" : null,
      "expire" : 600,
      "ready" : false,
      "filename" : "ALKS_Road_straight.xodr"
    },
    "version" : "v1.6.0"
  },
  "agreement_confirm" : true
}
```
#### 状态码
| 状态码 | 描述   |
|:---|:---|
| 201 | 请求成功 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-octopus/ErrorCode.html)。
