如何获取OSS断点续传上传模型所需的signedresources ID(Data Management API)
获取Autodesk Data Management断点续传的signedresources ID
要获取断点续传所需的signedresources ID,你需要先初始化断点续传会话,具体步骤如下:
1. 发起初始化断点续传请求
调用Data Management API的POST /buckets/:bucketKey/objects/:objectName/resumable接口,创建断点续传会话并获取分片上传所需的签名资源信息。
请求示例:
POST https://developer.api.autodesk.com/oss/v2/buckets/{bucketKey}/objects/{objectName}/resumable Authorization: Bearer <你的访问令牌> Content-Type: application/json { "size": <文件总字节数>, "contentType": "application/octet-stream", // 根据文件类型调整,比如模型文件用application/vnd.autodesk.rvt "sessionId": "<可选的自定义会话ID,用于标识同一上传任务>" }
2. 从响应中提取signedresources ID
请求成功后,接口会返回包含signedResources数组的响应,数组中的每个元素对应一个分片的上传信息,其中的id字段就是你需要的signedresources ID。
响应示例片段:
{ "bucketKey": "your-bucket", "objectKey": "your-model.rvt", "signedResources": [ { "id": "<这里就是signedresources ID>", "url": "<分片上传的签名URL>", "range": "bytes 0-4194303", "headers": {} }, // 更多分片的签名资源信息... ] }
关键说明
- 你之前使用Model Derivative API获取的是单文件上传的签名URL,而断点续传需要先通过初始化会话拿到每个分片的专属签名资源(包含ID和上传地址),再逐个上传分片。
- 确保你的访问令牌拥有
data:write权限,否则无法发起该请求。 - 如果需要断点续传未完成的任务,重新发起初始化请求时要使用相同的sessionId,接口会返回未上传完成的分片信息。
内容的提问来源于stack exchange,提问作者Praful Bharate
相关产品推荐
相关产品推荐

