查询格式转换后输出的模型并进行下载
本章节通过调用一系列API,以查询格式转换后输出的模型并下载对应模型文件为例,介绍工业数据转换引擎云服务(Industrial Data Exchange Engine Service,iDEE) API的使用流程。
API的调用方法请参见如何调用API。
调用流程
查询格式转换后输出的模型并下载对应模型文件的流程如下:
- 调用认证鉴权接口,获取用户的Token,在后续的请求中需要将Token放到请求消息头中作为认证。
- 调用根据ID查询转换任务接口,查询转换状态。
- 调用查询转换结果文件接口,查询转换结果文件。
- 调用获取模型文件的下载ID接口,获取下载模型ID。
- 调用下载文件接口,下载格式转换后输出的模型文件。
前提条件
- 已获取IAM的EndPoint和iDEE的EndPoint。
- 已获取获取项目ID和获取账号ID。
- 已创建模型并进行格式转换。
操作步骤
- 调用认证鉴权接口,获取用户的Token。
- 请求消息
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...
- 请求消息
- 调用根据ID查询转换任务接口,查询转换状态。
- 请求消息
GET http://{Endpoint}/idee/common/api/public/v1/models/{model_id}/conversions/{conversion_id}
请求消息头:
X-auth-Token: MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... Content-Type: application/json
其中,加粗的斜体字段需要根据实际值填写。
- 响应消息
{ "data": { "id": "989318656184995840", "model_id": "988695063084322816", "type": "STEP", "status": "CONVERT_SUCCEEDED", "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表示转换状态。取值范围:
- CONVERT_SUCCEEDED:表示转换成功,此时您可以执行下一步操作。
- CONVERT_FAILED:表示转换失败,请排查问题后重新尝试。
- CONVERTING:表示转换中,请耐心等待。
- 请求消息
- 调用查询转换结果文件接口,查询转换结果文件。
- 请求消息
GET https://{Endpoint}/idee/common/api/public/v1/models/{model_id}/conversions/{conversion_id}/result
请求消息头:
X-auth-Token: MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... Content-Type: application/json
请求参数:
cur_page:1 page_size: 20
其中,加粗的斜体字段需要根据实际值填写。
- 响应消息
{ "data": { "count": 1, "data_list": [ { "id": "989318659838234624", "model_id": "988695063084322816", "name": "Fresamento_CAM1_v3.zip", "root_file_name": "Fresamento_CAM1_v3.zip", "file_type": "zip", "mime_type": "application/zip", "storage_size": "19487", "file_path": "fdb77f81ddc84a1898385d95f0ee9c86/988695063084322816/DERIVATIVE/d9ce0464-98ea-4052-b284-595d73031aa3", "category": "XCAF", "conversion_id": "989318656184995840", "tenant_id": "1a0405c9b8434356a88d9b78ba552867" } ] } }
返回结果中,id表示转换结果的文件ID。
- 请求消息
- 调用获取模型文件的下载ID接口,获取下载模型ID。
- 请求消息
GET https://{Endpoint}/idee/common/api/public/v1/artifacts/{artifact_id}/download
请求消息头:
X-auth-Token: MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... Content-Type: application/json
其中,加粗的斜体字段需要根据实际值填写。
- Endpoint:表示iDEE的终端节点。
- artifact_id:表示文件ID。
- 响应消息
{ "data": { "url": "localhost:8000/idee/download/v1/files/download/990353899776036865", "download_id": "990353899776036865" } }
返回结果中:
- url:表示文件下载链接。
- download_id:表示下载文件ID。
- 请求消息
- 调用下载文件接口,下载格式转换后输出的模型文件。
- 请求消息
GET https://{Endpoint}/idee/download/api/public/v1/files/download/{download_id}
请求消息头:
X-auth-Token: MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... Content-Type: application/json
其中,加粗的斜体字段需要根据实际值填写。
- Endpoint:表示iDEE的终端节点。
- download_id:表示下载ID,即4中返回的“download_id”。
- 响应消息
file
返回文件。
- 请求消息