更新时间:2025-09-29 GMT+08:00
分享

创建模型并进行格式转换

本章节通过调用一系列API,以创建模型并进行格式转换为例,介绍工业数据转换引擎云服务(Industrial Data Exchange Engine Service,iDEE) API的使用流程。

API的调用方法请参见如何调用API

调用流程

创建模型并进行格式转换的流程如下:

  1. 调用认证鉴权接口,获取用户的Token,在后续的请求中需要将Token放到请求消息头中作为认证。
  2. 调用创建模型接口,创建模型。
  3. 调用获取模型文件的上传ID接口,获取模型ID。
  4. 调用上传文件接口,上传源模型文件。
  5. 调用确认模型文件上传结果接口,确认文件上传结果。
  6. 调用创建转换任务接口,创建转换任务。
  7. 调用根据ID查询转换任务接口,查询转换状态。

前提条件

操作步骤

  1. 调用认证鉴权接口,获取用户的Token。

    • 请求消息

      URI:

      POST https://{iam_endpoint}/v3/auth/tokens

      请求消息头:

      Content-Type: application/json

      请求Body:

      {
        "auth": {
          "identity": {
            "methods": ["password"],
            "password": {
              "user": {
                "name": "user_name", 
                "password": "user_password",
                "domain": {
                  "name": "domain_name"  
                }
              }
            }
          },
          "scope": {
            "project": {
              "name": "project_name"  
            }
          }
        }
      }

      其中,加粗的斜体字段需要根据实际值填写。

      • iam_endpoint:表示IAM的终端节点。
      • user_name:表示IAM用户名。
      • user_password:表示IAM用户登录密码。
      • domain_name:表示IAM用户所属的账号名。
      • project_name:表示项目名,代表服务的部署区域。
    • 响应消息

      返回状态码“201 Created”,在响应Header中获取“X-Subject-Token”的值即为Token。如下所示:

      X-Subject-Token: MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...

  2. 调用创建模型接口,创建模型。

    • 请求消息

      URI:

      POST https://{Endpoint}/idee/common/api/public/v1/models

      请求消息头:

      X-auth-Token: MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...
      Content-Type: application/json

      请求Body:

      {
          "name": "model_name",
          "file_name": "file_name",
          "description": "model_description"
      }

      其中,加粗的斜体字段需要根据实际值填写。

      • Endpoint:表示iDEE的终端节点。
      • model_name:表示模型在iDEE业务面上的名称。
      • file_name:表示待上传模型的文件名称。
      • model_description:表示模型在iDEE业务面上的描述。
    • 响应消息
      {
          "data": {
              "id": "990348516764340224",
              "name": "bike amination_20240902_061816.zip",
              "owner_id": "fdb77f81ddc84a1898385d95f0ee9c86",
              "status": "UPLOAD_WAITING",
              "main_source_artifact_id": "990348516948889600",
              "error_message": null,
              "description": null,
              "format": null,
              "model_size": null,
              "tenant_id": "1a0405c9b8434356a88d9b78ba552867",
              "creator": "fdb77f81ddc84a1898385d95f0ee9c86",
              "create_time": "2024-09-01T22:18:16Z",
              "last_update_time": "2024-09-01T22:18:16Z"
          }
      }

      在返回结果中,

      • id:表示新建的模型ID,记录该值用于后续步骤。
      • status:表示模型上传状态。此处为“UPLOAD_WAITING”,表示待上传。
      • main_source_artifact_id:表示待上传模型的文件ID,即源模型文件ID。记录该值用于后续步骤。

  3. 调用获取模型文件的上传ID接口,获取待上传模型文件的ID。

    • 请求消息

      URI:

      POST https://{Endpoint}/idee/download/api/common/v1/artifacts/{artifact_id}/upload

      请求消息头:

      X-auth-Token: MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...
      Content-Type: application/json

      请求path:

      "artifact_id": "990348516948889600"

      其中,加粗的斜体字段需要根据实际值填写。

      • Endpoint:表示iDEE的终端节点。
      • artifact_id:表示文件ID,即2中返回的“main_source_artifact_id”参数值。
    • 响应消息
      {
          "upload_id": "990353899776036865"
      }

      返回结果中,upload_id表示上传模型文件的ID。

  4. 调用上传文件接口,上传源模型文件。

    • 请求消息

      URI:

      POST https://{Endpoint}/idee/download/api/public/v1/files/upload

      请求消息头:

      X-auth-Token: MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...
      Content-Type: application/json

      请求Body:

      upload_id: 3中返回的上传ID
      file: 源文件

      其中,加粗的斜体字段需要根据实际值填写。

      • Endpoint:表示iDEE的终端节点。
      • upload_id:表示3中返回的上传ID。
      • file:表示源模型文件。
    • 响应消息
      {
          "data": {
              "upload_id": "990353899776036865"
          }
      }

      返回结果中,upload_id表示上传模型文件的ID。

  5. 确认模型文件上传结果接口,确认文件上传结果。

    • 请求消息

      URI:

      POST https://{Endpoint}/idee/common/api/public/v1/artifacts/{artifact_id}/upload

      请求消息头:

      X-auth-Token: MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...
      Content-Type: application/json

      其中,加粗的斜体字段需要根据实际值填写。

      artifact_id:表示文件ID,即2中返回的“main_source_artifact_id”参数值。

    • 响应消息
      {
          "data": {
              "artifact_id": "988388187893321728",
              "status": "PROCESS_SUCCEEDED",
              "error_message": null
          }
      }

      返回结果中,status表示模型文件上传状态(UPLOAD_WAITING:待上传;UPLOAD_SUCCEEDED:上传成功;UPLOAD_FAILED:上传失败)。

  6. 调用创建转换任务接口,创建转换任务。

    • 请求消息

      URI:

      POST https://{Endpoint}/idee/common/api/public/v1/models/{model_id}/conversions

      请求消息头:

      X-auth-Token: MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...
      Content-Type: application/json

      请求Body:

      {
          "type": "STEP",
          "target_file_name": "string"
      }

      其中,加粗的斜体字段需要根据实际值填写。

      • Endpoint:表示iDEE的终端节点。
      • model_id:模型ID,即1中返回的“id”参数值。
      • type:表示转换类型,即想要转换的目标文件格式。当前支持转换类型为STEP,PARASOLID,XCAF。
      • target_file_name:表示目标文件名。
    • 响应消息
      {
          "data": {
              "id": "989318656184995840",
              "model_id": "988695063084322816",
              "type": "STEP",
              "status": "CONVERTING",
              "target_file_name": "test1005",
              "storage_size": null,
              "start_time": "2024-08-30T02:05:58Z",
              "end_time": "2024-08-30T02:05:59Z",
              "error_msg": null,
              "tenant_id": "1a0405c9b8434356a88d9b78ba552867",
              "creator": "fdb77f81ddc84a1898385d95f0ee9c86",
              "create_time": "2024-08-30T02:05:58Z"
          }
      }

      返回结果中,status表示转换任务状态。

相关文档