@agentunion/fastaun-browser 0.4.13 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +480 -386
- package/_packed_docs/CHANGELOG.md +480 -386
- package/_packed_docs/INDEX.md +111 -53
- package/_packed_docs/KITE_DOCS_GUIDE.md +43 -29
- package/_packed_docs/agent.md/SCHEMA.md +2 -0
- package/_packed_docs/agent.md/examples/codeagent-claudecode.md +2 -0
- package/_packed_docs/agent.md/examples/human-developer.md +2 -0
- package/_packed_docs/agent.md/examples/openclaw-lobster.md +2 -0
- package/_packed_docs/agent.md/examples/signed-openclaw-lobster.md +2 -0
- package/_packed_docs/agent.md//350/277/234/347/250/213agent.md/347/274/223/345/255/230/344/270/216etag/351/200/217/344/274/240/346/226/271/346/241/210.md +2 -0
- package/_packed_docs/cli/AUN-CLI/350/256/276/350/256/241/346/226/207/346/241/243.md +265 -686
- package/_packed_docs/collab-gateway-boundary-test-report.md +164 -0
- package/_packed_docs/design/2026-05-22-aun-rpc-trace-enhancement.md +2 -0
- package/_packed_docs/design/AUNClient/346/213/206/345/210/206/351/207/215/346/236/204/346/211/247/350/241/214/346/226/271/346/241/210.md +2 -0
- package/_packed_docs/design/E2EE_V2/347/256/200/345/214/226/344/270/2721DH/345/212/240Per-AID_Wrap/346/226/271/346/241/210.md +2 -0
- package/_packed_docs/design//350/267/250/350/257/255/350/250/200/345/256/271/345/231/250E2E/346/265/213/350/257/225/346/226/271/346/241/210.md +2 -0
- package/_packed_docs/protocol/00-/346/200/273/350/247/210/344/270/216/345/210/206/345/261/202.md +2 -0
- package/_packed_docs/protocol/00A-/350/256/276/350/256/241/345/216/237/345/210/231-/344/270/272Agent/350/200/214/347/224/237.md +2 -0
- package/_packed_docs/protocol/01-/350/272/253/344/273/275/344/270/216/345/207/255/350/257/201/345/215/217/350/256/256-auth.md +2 -0
- package/_packed_docs/protocol/02-/350/257/201/344/271/246/344/270/216/344/277/241/344/273/273/344/275/223/347/263/273.md +2 -0
- package/_packed_docs/protocol/03-Gateway-/350/277/236/346/216/245/346/250/241/345/274/217.md +2 -0
- package/_packed_docs/protocol/04-Peer-/345/255/220/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol/05-Relay-/345/255/220/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol/07-/351/224/231/350/257/257/347/240/201/344/270/216/347/212/266/346/200/201/346/234/272.md +2 -0
- package/_packed_docs/protocol/08-AUN-E2EE-Group.md +2 -0
- package/_packed_docs/protocol/08-AUN-E2EE.md +2 -0
- package/_packed_docs/protocol/09-/345/256/211/345/205/250/350/200/203/350/231/221.md +2 -0
- package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +28 -85
- package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +49 -0
- package/_packed_docs/protocol/12-Stream-/345/255/220/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol/13-Agent/350/241/214/344/270/272/350/247/204/350/214/203.md +2 -0
- package/_packed_docs/protocol/14-/344/272/244/344/272/222/346/234/272/345/210/266-/345/223/215/345/272/224/346/250/241/345/274/217/344/270/216/350/207/252/344/270/273/346/250/241/345/274/217.md +2 -0
- package/_packed_docs/protocol/15-/347/246/273/347/272/277/346/216/250/351/200/201/351/200/232/347/237/245/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol/README.md +2 -0
- package/_packed_docs/protocol/agent.md/SCHEMA.md +2 -0
- package/_packed_docs/protocol/agent.md/examples/codeagent-claudecode.md +2 -0
- package/_packed_docs/protocol/agent.md/examples/human-developer.md +2 -0
- package/_packed_docs/protocol/agent.md/examples/openclaw-lobster.md +2 -0
- package/_packed_docs/protocol/aun-docs-guide.md +2 -0
- package/_packed_docs/protocol/index.md +3 -1
- package/_packed_docs/protocol//350/215/211/346/241/210-agent.md/347/255/276/345/220/215/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol//350/215/211/346/241/210-/346/213/222/347/273/235/344/277/241/345/217/267/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225A-/346/234/257/350/257/255/350/241/250.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225B-/346/211/251/345/261/225/346/200/247/346/214/207/345/215/227.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225C-/347/247/201/351/222/245/347/256/241/347/220/206/344/270/216/350/272/253/344/273/275/346/201/242/345/244/215.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225D-Root_CA_/346/262/273/347/220/206/346/234/272/345/210/266.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225E-Root_CA_/345/207/206/345/205/245/346/265/201/347/250/213.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225F-Issuer_CA_/347/224/263/350/257/267/346/265/201/347/250/213.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225G-AID_/345/255/244/345/204/277/351/242/204/351/230/262/344/270/216/346/225/221/346/217/264/346/234/272/345/210/266.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225H-Identity/346/234/215/345/212/241/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225I-/350/267/250/345/237/237/346/266/210/346/201/257/350/267/257/347/224/261/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225J-/345/256/242/346/210/267/347/253/257/346/216/245/345/205/245/347/244/272/344/276/213.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225K-Agent_Web/345/217/221/347/216/260/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225L-E2EE/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225M-JWT/350/256/244/350/257/201/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225N-/345/210/206/345/270/203/345/274/217Trace/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +2 -0
- package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +2 -0
- package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +2 -0
- package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +2 -0
- package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +283 -267
- package/_packed_docs/sdk/07-/351/224/231/350/257/257/345/244/204/347/220/206.md +4 -1
- package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -0
- package/_packed_docs/sdk/09-collab-rpc-manual.md +550 -0
- package/_packed_docs/sdk/09-custody-api-manual.md +2 -0
- package/_packed_docs/sdk/09-group-rpc-manual.md +197 -443
- package/_packed_docs/sdk/09-message-rpc-manual.md +2 -0
- package/_packed_docs/sdk/09-meta-rpc-manual.md +2 -0
- package/_packed_docs/sdk/09-payload-reference.md +2 -0
- package/_packed_docs/sdk/09-proxy-rpc-manual.md +2 -0
- package/_packed_docs/sdk/09-storage-rpc-manual.md +952 -279
- package/_packed_docs/sdk/09-stream-rpc-manual.md +2 -0
- package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +33 -20
- package/_packed_docs/sdk/E2EE_V2/346/266/210/346/201/257/351/200/232/344/277/241/346/227/266/345/272/217/345/233/276.md +2 -0
- package/_packed_docs/sdk/INDEX.md +46 -29
- package/_packed_docs/sdk/Notify/351/200/232/347/237/245/346/226/271/346/241/210.md +2 -0
- package/_packed_docs/sdk/README.md +17 -15
- package/dist/aid-store.d.ts +25 -0
- package/dist/aid-store.d.ts.map +1 -1
- package/dist/aid-store.js +89 -8
- package/dist/aid-store.js.map +1 -1
- package/dist/bundle.js +19128 -16784
- package/dist/client/delivery.d.ts +2 -0
- package/dist/client/delivery.d.ts.map +1 -1
- package/dist/client/delivery.js +52 -8
- package/dist/client/delivery.js.map +1 -1
- package/dist/client/rpc-pipeline.d.ts +1 -0
- package/dist/client/rpc-pipeline.d.ts.map +1 -1
- package/dist/client/rpc-pipeline.js +70 -33
- package/dist/client/rpc-pipeline.js.map +1 -1
- package/dist/client.d.ts +31 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +282 -20
- package/dist/client.js.map +1 -1
- package/dist/collab/client.d.ts +39 -0
- package/dist/collab/client.d.ts.map +1 -0
- package/dist/collab/client.js +124 -0
- package/dist/collab/client.js.map +1 -0
- package/dist/collab/errors.d.ts +16 -0
- package/dist/collab/errors.d.ts.map +1 -0
- package/dist/collab/errors.js +60 -0
- package/dist/collab/errors.js.map +1 -0
- package/dist/collab/index.d.ts +4 -0
- package/dist/collab/index.d.ts.map +1 -0
- package/dist/collab/index.js +4 -0
- package/dist/collab/index.js.map +1 -0
- package/dist/collab/types.d.ts +111 -0
- package/dist/collab/types.d.ts.map +1 -0
- package/dist/collab/types.js +2 -0
- package/dist/collab/types.js.map +1 -0
- package/dist/crypto.d.ts +6 -0
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +6 -0
- package/dist/crypto.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +16 -1
- package/dist/errors.js.map +1 -1
- package/dist/facades.d.ts +89 -0
- package/dist/facades.d.ts.map +1 -0
- package/dist/facades.js +228 -0
- package/dist/facades.js.map +1 -0
- package/dist/group-fs.d.ts +103 -0
- package/dist/group-fs.d.ts.map +1 -0
- package/dist/group-fs.js +496 -0
- package/dist/group-fs.js.map +1 -0
- package/dist/group-resources.d.ts +98 -0
- package/dist/group-resources.d.ts.map +1 -0
- package/dist/group-resources.js +635 -0
- package/dist/group-resources.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/register-flow.d.ts +1 -0
- package/dist/register-flow.d.ts.map +1 -1
- package/dist/register-flow.js +3 -0
- package/dist/register-flow.js.map +1 -1
- package/dist/service-proxy.d.ts +1 -0
- package/dist/service-proxy.d.ts.map +1 -1
- package/dist/service-proxy.js +15 -3
- package/dist/service-proxy.js.map +1 -1
- package/dist/storage/errors.d.ts +28 -0
- package/dist/storage/errors.d.ts.map +1 -0
- package/dist/storage/errors.js +65 -0
- package/dist/storage/errors.js.map +1 -0
- package/dist/storage/index.d.ts +2 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +2 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/lowlevel.d.ts +314 -0
- package/dist/storage/lowlevel.d.ts.map +1 -0
- package/dist/storage/lowlevel.js +460 -0
- package/dist/storage/lowlevel.js.map +1 -0
- package/dist/storage/types.d.ts +59 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +113 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/storage/vfs.d.ts +144 -0
- package/dist/storage/vfs.d.ts.map +1 -0
- package/dist/storage/vfs.js +403 -0
- package/dist/storage/vfs.js.map +1 -0
- package/dist/tools/cross-sdk-agent.d.ts +3 -0
- package/dist/tools/cross-sdk-agent.d.ts.map +1 -0
- package/dist/tools/cross-sdk-agent.js +1089 -0
- package/dist/tools/cross-sdk-agent.js.map +1 -0
- package/dist/transport.d.ts +3 -0
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +33 -13
- package/dist/transport.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +44 -44
|
@@ -12,37 +12,37 @@
|
|
|
12
12
|
| [storage.delete_object](#storagedelete_object) | 删除对象 |
|
|
13
13
|
| [storage.list_objects](#storagelist_objects) | 列举对象 |
|
|
14
14
|
| [storage.list_prefixes](#storagelist_prefixes) | 列举子目录 |
|
|
15
|
-
| [storage.get_quota](#storageget_quota) | 查询配额 |
|
|
16
|
-
| [storage.get_limits](#storageget_limits) | 查询上传限制 |
|
|
17
|
-
| [storage.check_upload](#storagecheck_upload) | 上传预检(秒传检测 + 超限检测) |
|
|
18
|
-
|
|
19
|
-
### 目录树方法
|
|
20
|
-
|
|
21
|
-
| 方法 | 说明 |
|
|
22
|
-
|------|------|
|
|
23
|
-
| [storage.create_folder](#storagecreate_folder) | 创建目录 |
|
|
24
|
-
| [storage.get_folder](#storageget_folder) | 查询目录 |
|
|
25
|
-
| [storage.list_children](#storagelist_children) | 列出目录子节点 |
|
|
26
|
-
| [storage.rename_folder](#storagerename_folder) | 重命名目录 |
|
|
27
|
-
| [storage.move_folder](#storagemove_folder) | 移动目录 |
|
|
28
|
-
| [storage.delete_folder](#storagedelete_folder) | 删除目录 |
|
|
29
|
-
| [storage.resolve_path](#storageresolve_path) | 按路径解析节点 |
|
|
30
|
-
|
|
31
|
-
### 对象管理方法
|
|
32
|
-
|
|
33
|
-
| 方法 | 说明 |
|
|
34
|
-
|------|------|
|
|
35
|
-
| [storage.move_object](#storagemove_object) | 移动或重命名对象 |
|
|
36
|
-
| [storage.copy_object](#storagecopy_object) | 复制对象 |
|
|
37
|
-
| [storage.batch_delete](#storagebatch_delete) | 批量删除对象/目录 |
|
|
38
|
-
| [storage.batch_head_object](#storagebatch_head_object) | 批量查询对象元数据 |
|
|
39
|
-
| [storage.set_object_meta](#storageset_object_meta) | 更新对象元数据 |
|
|
40
|
-
| [storage.get_object_url](#storageget_object_url) | 获取稳定对象 URL |
|
|
41
|
-
| [storage.append_object](#storageappend_object) | 追加写对象 |
|
|
42
|
-
|
|
43
|
-
### 数据面协调方法
|
|
44
|
-
|
|
45
|
-
| 方法 | 说明 |
|
|
15
|
+
| [storage.get_quota](#storageget_quota) | 查询配额 |
|
|
16
|
+
| [storage.get_limits](#storageget_limits) | 查询上传限制 |
|
|
17
|
+
| [storage.check_upload](#storagecheck_upload) | 上传预检(秒传检测 + 超限检测) |
|
|
18
|
+
|
|
19
|
+
### 目录树方法
|
|
20
|
+
|
|
21
|
+
| 方法 | 说明 |
|
|
22
|
+
|------|------|
|
|
23
|
+
| [storage.create_folder](#storagecreate_folder) | 创建目录 |
|
|
24
|
+
| [storage.get_folder](#storageget_folder) | 查询目录 |
|
|
25
|
+
| [storage.list_children](#storagelist_children) | 列出目录子节点 |
|
|
26
|
+
| [storage.rename_folder](#storagerename_folder) | 重命名目录 |
|
|
27
|
+
| [storage.move_folder](#storagemove_folder) | 移动目录 |
|
|
28
|
+
| [storage.delete_folder](#storagedelete_folder) | 删除目录 |
|
|
29
|
+
| [storage.resolve_path](#storageresolve_path) | 按路径解析节点 |
|
|
30
|
+
|
|
31
|
+
### 对象管理方法
|
|
32
|
+
|
|
33
|
+
| 方法 | 说明 |
|
|
34
|
+
|------|------|
|
|
35
|
+
| [storage.move_object](#storagemove_object) | 移动或重命名对象 |
|
|
36
|
+
| [storage.copy_object](#storagecopy_object) | 复制对象 |
|
|
37
|
+
| [storage.batch_delete](#storagebatch_delete) | 批量删除对象/目录 |
|
|
38
|
+
| [storage.batch_head_object](#storagebatch_head_object) | 批量查询对象元数据 |
|
|
39
|
+
| [storage.set_object_meta](#storageset_object_meta) | 更新对象元数据 |
|
|
40
|
+
| [storage.get_object_url](#storageget_object_url) | 获取稳定对象 URL |
|
|
41
|
+
| [storage.append_object](#storageappend_object) | 追加写对象 |
|
|
42
|
+
|
|
43
|
+
### 数据面协调方法
|
|
44
|
+
|
|
45
|
+
| 方法 | 说明 |
|
|
46
46
|
|------|------|
|
|
47
47
|
| [storage.create_upload_session](#storagecreate_upload_session) | 申请上传 URL |
|
|
48
48
|
| [storage.complete_upload](#storagecomplete_upload) | 确认上传完成 |
|
|
@@ -52,18 +52,76 @@
|
|
|
52
52
|
|
|
53
53
|
| 方法 | 说明 |
|
|
54
54
|
|------|------|
|
|
55
|
-
| [storage.create_share_link](#storagecreate_share_link) | 创建分享链接 |
|
|
56
|
-
| [storage.list_share_links](#storagelist_share_links) | 列举分享链接 |
|
|
57
|
-
| [storage.revoke_share_link](#storagerevoke_share_link) | 撤销分享链接 |
|
|
58
|
-
| [storage.get_by_share](#storageget_by_share) | 通过分享短码读取对象 |
|
|
55
|
+
| [storage.create_share_link](#storagecreate_share_link) | 创建分享链接 |
|
|
56
|
+
| [storage.list_share_links](#storagelist_share_links) | 列举分享链接 |
|
|
57
|
+
| [storage.revoke_share_link](#storagerevoke_share_link) | 撤销分享链接 |
|
|
58
|
+
| [storage.get_by_share](#storageget_by_share) | 通过分享短码读取对象 |
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
### POSIX VFS 方法
|
|
61
|
+
|
|
62
|
+
> 在对象存储之上提供 Linux 文件系统语义(`ls/find/df/stat/mkdir/rm/mv/cp/mount`)。节点类型:`file` / `dir` / `symlink` / `mount`。
|
|
63
|
+
|
|
64
|
+
| 方法 | 说明 |
|
|
65
|
+
|------|------|
|
|
66
|
+
| [storage.fs.list](#storagefslist) | 列目录(ls) |
|
|
67
|
+
| [storage.fs.find](#storagefsfind) | 递归查找(find,支持 name/type/size/mtime 过滤) |
|
|
68
|
+
| [storage.fs.df](#storagefsdf) | 配额/用量报告(df) |
|
|
69
|
+
| [storage.fs.stat](#storagefsstat) | 查节点(stat,跟随末级软链) |
|
|
70
|
+
| [storage.fs.lstat](#storagefslstat) | 查节点(lstat,不跟随软链) |
|
|
71
|
+
| [storage.fs.mkdir](#storagefsmkdir) | 建目录(mkdir) |
|
|
72
|
+
| [storage.fs.remove](#storagefsremove) | 删除文件/目录/软链(rm) |
|
|
73
|
+
| [storage.fs.rename](#storagefsrename) | 同 owner 内移动/改名(mv) |
|
|
74
|
+
| [storage.fs.copy](#storagefscopy) | 复制对象或软链(cp) |
|
|
75
|
+
| [storage.fs.mount](#storagefsmount) | 挂载卷或他人子树 |
|
|
76
|
+
| [storage.fs.approve](#storagefsapprove) | 源 owner 批准待审挂载 |
|
|
77
|
+
| [storage.fs.reject](#storagefsreject) | 拒绝待审挂载 |
|
|
78
|
+
| [storage.fs.unmount](#storagefsunmount) | 卸载挂载点 |
|
|
79
|
+
| [storage.fs.invalidate_membership](#storagefsinvalidate_membership) | 群成员变更时失效群挂载 |
|
|
80
|
+
|
|
81
|
+
### 软链方法
|
|
82
|
+
|
|
83
|
+
| 方法 | 说明 |
|
|
84
|
+
|------|------|
|
|
85
|
+
| [storage.create_symlink](#storagecreate_symlink) | 创建软链 |
|
|
86
|
+
| [storage.readlink](#storagereadlink) | 读软链 target |
|
|
87
|
+
| [storage.atomic_repoint](#storageatomic_repoint) | 原子重指 target(CAS 乐观锁) |
|
|
88
|
+
| [storage.rename_symlink](#storagerename_symlink) | 改软链 key(target 不变) |
|
|
89
|
+
| [storage.delete_symlink](#storagedelete_symlink) | 删软链记录(不动 target) |
|
|
90
|
+
|
|
91
|
+
### ACL / 权限方法
|
|
92
|
+
|
|
93
|
+
> 统一权限求值顺序(硬顺序):公开位 → token → ACL(最近祖先前缀)→ 角色 → owner → 拒绝。
|
|
94
|
+
|
|
95
|
+
| 方法 | 说明 |
|
|
96
|
+
|------|------|
|
|
97
|
+
| [storage.set_acl](#storageset_acl) | 授予路径前缀 ACL |
|
|
98
|
+
| [storage.remove_acl](#storageremove_acl) | 移除 ACL 授权 |
|
|
99
|
+
| [storage.list_acl](#storagelist_acl) | 列出路径 ACL |
|
|
100
|
+
| [storage.set_visibility](#storageset_visibility) | 切换公开/私有 |
|
|
101
|
+
| [storage.check_access](#storagecheck_access) | 非抛错的访问探测 |
|
|
102
|
+
| [storage.issue_token](#storageissue_token) | 签发路径访问 token |
|
|
103
|
+
| [storage.revoke_token](#storagerevoke_token) | 吊销 token |
|
|
104
|
+
| [storage.list_tokens](#storagelist_tokens) | 列出 token |
|
|
61
105
|
|
|
62
|
-
|
|
106
|
+
### 卷方法
|
|
107
|
+
|
|
108
|
+
| 方法 | 说明 |
|
|
109
|
+
|------|------|
|
|
110
|
+
| [storage.volume.create](#storagevolumecreate) | 创建/upsert 配额卷 |
|
|
111
|
+
| [storage.volume.renew](#storagevolumerenew) | 续期卷 |
|
|
112
|
+
| [storage.volume.expire_due](#storagevolumeexpire_due) | 过期到期卷并失效其挂载 |
|
|
63
113
|
|
|
64
|
-
|
|
114
|
+
---
|
|
65
115
|
|
|
66
|
-
|
|
116
|
+
> `object_key` 当前仅支持 ASCII 安全字符集合 `[A-Za-z0-9._/-]`,且不允许空路径段、`..`、反斜杠转义后的非法段。
|
|
117
|
+
|
|
118
|
+
## SDK 封装状态
|
|
119
|
+
|
|
120
|
+
Python / Go / TypeScript / JavaScript SDK 均提供 storage low-level 与 VFS 门面。普通应用优先使用 SDK VFS:`write_bytes` / `upload_file` 会先 `check_upload`,小对象走 `put_object`,大对象走 `create_upload_session` → HTTP PUT → `complete_upload`,秒传路径用 `complete_upload(skip_blob=true)`;`read_bytes` / `download_file` 优先尝试 inline `get_object`,超限时回退 `create_download_ticket`。需要精确控制 ACL、token、软链、卷、批量操作或 URL 字段时,再直接调用本手册中的 `storage.*` RPC。
|
|
121
|
+
|
|
122
|
+
## storage.put_object
|
|
123
|
+
|
|
124
|
+
上传小对象(内容 base64 编码通过 RPC 传输)。
|
|
67
125
|
|
|
68
126
|
### 参数
|
|
69
127
|
|
|
@@ -84,7 +142,7 @@
|
|
|
84
142
|
|
|
85
143
|
| 字段 | 类型 | 说明 |
|
|
86
144
|
|------|------|------|
|
|
87
|
-
| `url` | string | **AID 风格 URL(默认/推荐)**:`https://{owner_aid}/
|
|
145
|
+
| `url` | string | **AID 风格 URL(默认/推荐)**:`https://{owner_aid}/{object_key}`,经 NameService fallback 302 跳转到 storage 服务 |
|
|
88
146
|
| `logical_url` | string | 直链 URL:`https://storage.{issuer}/{user}/{object_key}`,直达 storage 服务,无跳转 |
|
|
89
147
|
| `owner_aid` | string | 所有者 AID |
|
|
90
148
|
| `bucket` | string | 存储桶 |
|
|
@@ -281,9 +339,9 @@ for obj in result["items"]:
|
|
|
281
339
|
|
|
282
340
|
---
|
|
283
341
|
|
|
284
|
-
## storage.get_quota
|
|
285
|
-
|
|
286
|
-
查询存储配额。
|
|
342
|
+
## storage.get_quota
|
|
343
|
+
|
|
344
|
+
查询存储配额。
|
|
287
345
|
|
|
288
346
|
### 参数
|
|
289
347
|
|
|
@@ -298,193 +356,193 @@ for obj in result["items"]:
|
|
|
298
356
|
| `owner_aid` | string | 所有者 AID |
|
|
299
357
|
| `used_bytes` | integer | 已使用空间(字节) |
|
|
300
358
|
| `object_count` | integer | 对象数量 |
|
|
301
|
-
| `quota_bytes` | integer | 配额上限(字节),0 表示无限制 |
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
## storage.create_folder
|
|
306
|
-
|
|
307
|
-
创建目录节点。目录和对象共用同一个 `bucket`,默认 bucket 为 `"default"`。
|
|
308
|
-
|
|
309
|
-
**参数**:
|
|
310
|
-
|
|
311
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
312
|
-
|------|------|------|------|
|
|
313
|
-
| `path` | string | 否 | 完整目录路径;提供时优先使用 |
|
|
314
|
-
| `name` | string | 否 | 目录名;未提供 `path` 时必填 |
|
|
315
|
-
| `parent_folder_id` | string | 否 | 父目录 ID |
|
|
316
|
-
| `parent_path` | string | 否 | 父目录路径,默认根目录 |
|
|
317
|
-
| `bucket` | string | 否 | 存储桶,默认 `"default"` |
|
|
318
|
-
| `owner_aid` | string | 否 | 所有者 AID,默认当前用户 |
|
|
319
|
-
| `mkdirs` | boolean | 否 | 是否递归创建父目录 |
|
|
320
|
-
| `metadata` | object | 否 | 目录元数据 |
|
|
321
|
-
| `conflict_policy` | string | 否 | `"reject"` / `"return_existing"` |
|
|
322
|
-
|
|
323
|
-
**响应**:返回 `folder`,同时在顶层展开 `folder_id`、`path`、`name`、`parent_folder_id`、`version` 等字段。
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
## storage.get_folder
|
|
328
|
-
|
|
329
|
-
查询目录节点。
|
|
330
|
-
|
|
331
|
-
**参数**:`folder_id` 或 `path` 至少提供一个;可选 `bucket`、`owner_aid`。
|
|
332
|
-
|
|
333
|
-
**响应**:同 `storage.create_folder` 的 `folder` 视图。
|
|
334
|
-
|
|
335
|
-
---
|
|
336
|
-
|
|
337
|
-
## storage.list_children
|
|
338
|
-
|
|
339
|
-
列出目录下的直接子目录和对象。
|
|
340
|
-
|
|
341
|
-
**参数**:
|
|
342
|
-
|
|
343
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
344
|
-
|------|------|------|------|
|
|
345
|
-
| `folder_id` / `path` | string | 否 | 目标目录;都不传表示根目录 |
|
|
346
|
-
| `type` | string | 否 | `"all"` / `"folder"` / `"object"`,默认 `"all"` |
|
|
347
|
-
| `bucket` | string | 否 | 存储桶,默认 `"default"` |
|
|
348
|
-
| `owner_aid` | string | 否 | 所有者 AID,默认当前用户 |
|
|
349
|
-
| `page` | integer | 否 | 页码,默认 1 |
|
|
350
|
-
| `size` | integer | 否 | 每页数量,最大受服务配置限制 |
|
|
351
|
-
| `order_by` | string | 否 | `"name"` / `"updated_at"` / `"size_bytes"` |
|
|
352
|
-
| `order` | string | 否 | `"asc"` / `"desc"` |
|
|
353
|
-
| `include_metadata` | boolean | 否 | 是否返回元数据,默认 `true` |
|
|
354
|
-
| `include_urls` | boolean | 否 | 是否返回 URL 字段,默认 `true` |
|
|
355
|
-
|
|
356
|
-
**响应**:`folder`、`items`、`total`、`page`、`size`、`next_marker`。`items[].node_type` 区分 `folder` / `object`。
|
|
357
|
-
|
|
358
|
-
---
|
|
359
|
-
|
|
360
|
-
## storage.rename_folder
|
|
361
|
-
|
|
362
|
-
重命名目录。根目录不可改名。
|
|
363
|
-
|
|
364
|
-
**参数**:`folder_id` 或 `path`,`new_name` 必填;可选 `bucket`、`owner_aid`、`expected_version`。
|
|
365
|
-
|
|
366
|
-
**响应**:更新后的 `folder` 视图。
|
|
367
|
-
|
|
368
|
-
---
|
|
369
|
-
|
|
370
|
-
## storage.move_folder
|
|
371
|
-
|
|
372
|
-
移动目录。不能移动到自身或自身子目录。
|
|
373
|
-
|
|
374
|
-
**参数**:`folder_id` 或 `path`,目标目录通过 `dst_parent_folder_id` 或 `dst_parent_path` 指定;可选 `new_name`、`bucket`、`owner_aid`、`expected_version`。
|
|
375
|
-
|
|
376
|
-
**响应**:更新后的 `folder` 视图。
|
|
377
|
-
|
|
378
|
-
---
|
|
379
|
-
|
|
380
|
-
## storage.delete_folder
|
|
381
|
-
|
|
382
|
-
删除目录。
|
|
383
|
-
|
|
384
|
-
**参数**:
|
|
385
|
-
|
|
386
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
387
|
-
|------|------|------|------|
|
|
388
|
-
| `folder_id` / `path` | string | 是 | 待删除目录 |
|
|
389
|
-
| `recursive` | boolean | 否 | 非空目录必须传 `true` |
|
|
390
|
-
| `dry_run` | boolean | 否 | 只预览将删除的目录/对象 |
|
|
391
|
-
| `bucket` | string | 否 | 存储桶,默认 `"default"` |
|
|
392
|
-
| `owner_aid` | string | 否 | 所有者 AID,默认当前用户 |
|
|
393
|
-
|
|
394
|
-
**响应**:`deleted_folders`、`deleted_objects`、`deleted_object_items`、`errors`;`dry_run=true` 时返回预览列表。
|
|
395
|
-
|
|
396
|
-
---
|
|
397
|
-
|
|
398
|
-
## storage.resolve_path
|
|
399
|
-
|
|
400
|
-
按路径解析目录或对象。
|
|
401
|
-
|
|
402
|
-
**参数**:`path` 必填;可选 `expected_type`(`"any"` / `"object"` / `"folder"`)、`bucket`、`owner_aid`。
|
|
403
|
-
|
|
404
|
-
**响应**:`type`、`folder_id` 或 `object_id`、`path`、`status`。
|
|
405
|
-
|
|
406
|
-
---
|
|
407
|
-
|
|
408
|
-
## storage.move_object
|
|
409
|
-
|
|
410
|
-
移动或重命名对象。
|
|
411
|
-
|
|
412
|
-
**参数**:对象选择器(`object_id` / `object_key` / `path`),目标目录 `dst_parent_folder_id` 或 `dst_parent_path`;可选 `new_name`、`conflict_policy`(`"reject"` / `"replace"` / `"keep_both"`)、`expected_version`。
|
|
413
|
-
|
|
414
|
-
**响应**:返回 `object`,同时在顶层展开对象视图字段。
|
|
415
|
-
|
|
416
|
-
---
|
|
417
|
-
|
|
418
|
-
## storage.copy_object
|
|
419
|
-
|
|
420
|
-
复制对象,底层内容按 CAS 引用计数复用。
|
|
421
|
-
|
|
422
|
-
**参数**:源对象选择器(`object_id` / `object_key` / `path`,也接受 `src_object_key` / `src_path`),目标 `dst_object_key` / `dst_path` 或目标父目录 + `new_name`;可选 `conflict_policy`、`copy_metadata`。
|
|
423
|
-
|
|
424
|
-
**响应**:新对象视图。
|
|
425
|
-
|
|
426
|
-
---
|
|
427
|
-
|
|
428
|
-
## storage.batch_delete
|
|
429
|
-
|
|
430
|
-
批量删除对象或目录。
|
|
431
|
-
|
|
432
|
-
**参数**:
|
|
433
|
-
|
|
434
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
435
|
-
|------|------|------|------|
|
|
436
|
-
| `items` | array | 否 | 每项含 `type`、`object_id` / `object_key` / `path` / `folder_id` |
|
|
437
|
-
| `object_keys` | string[] | 否 | 兼容简写,转为对象删除 |
|
|
438
|
-
| `recursive` | boolean | 否 | 删除目录时是否递归 |
|
|
439
|
-
| `dry_run` | boolean | 否 | 只预览 |
|
|
440
|
-
|
|
441
|
-
**响应**:`deleted`、`errors`、`deleted_count`、`summary`。
|
|
442
|
-
|
|
443
|
-
---
|
|
444
|
-
|
|
445
|
-
## storage.batch_head_object
|
|
446
|
-
|
|
447
|
-
批量查询对象元数据。
|
|
448
|
-
|
|
449
|
-
**参数**:`object_ids`、`paths` 至少提供一类;可选 `owner_aid`、`bucket`、`include_missing`、`include_metadata`、`include_urls`。
|
|
450
|
-
|
|
451
|
-
**响应**:`items` 和 `errors`。
|
|
452
|
-
|
|
453
|
-
---
|
|
454
|
-
|
|
455
|
-
## storage.set_object_meta
|
|
456
|
-
|
|
457
|
-
更新对象元数据和可选 MIME 类型。
|
|
458
|
-
|
|
459
|
-
**参数**:对象选择器,`metadata`;可选 `merge`(默认 `true`)、`content_type`、`expected_version`。
|
|
460
|
-
|
|
461
|
-
**响应**:更新后的对象视图。
|
|
462
|
-
|
|
463
|
-
---
|
|
464
|
-
|
|
465
|
-
## storage.get_object_url
|
|
466
|
-
|
|
467
|
-
获取稳定对象 URL。
|
|
468
|
-
|
|
469
|
-
**参数**:对象选择器;可选 `include_path_url`。
|
|
470
|
-
|
|
471
|
-
**响应**:`object_id`、`object_url`、`path_url`、`stable`。
|
|
472
|
-
|
|
473
|
-
---
|
|
474
|
-
|
|
475
|
-
## storage.append_object
|
|
476
|
-
|
|
477
|
-
向对象尾部追加 base64 内容;对象不存在时创建。
|
|
478
|
-
|
|
479
|
-
**参数**:与 `storage.put_object` 类似,`content` 必填;可选 `object_key` / `path` / `name`、`bucket`、`owner_aid`、`content_type`、`metadata`、`expected_version`、`is_private`。
|
|
480
|
-
|
|
481
|
-
**响应**:对象视图。
|
|
482
|
-
|
|
483
|
-
---
|
|
484
|
-
|
|
485
|
-
## storage.create_upload_session
|
|
486
|
-
|
|
487
|
-
获取上传用 presigned URL。
|
|
359
|
+
| `quota_bytes` | integer | 配额上限(字节),0 表示无限制 |
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
## storage.create_folder
|
|
364
|
+
|
|
365
|
+
创建目录节点。目录和对象共用同一个 `bucket`,默认 bucket 为 `"default"`。
|
|
366
|
+
|
|
367
|
+
**参数**:
|
|
368
|
+
|
|
369
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
370
|
+
|------|------|------|------|
|
|
371
|
+
| `path` | string | 否 | 完整目录路径;提供时优先使用 |
|
|
372
|
+
| `name` | string | 否 | 目录名;未提供 `path` 时必填 |
|
|
373
|
+
| `parent_folder_id` | string | 否 | 父目录 ID |
|
|
374
|
+
| `parent_path` | string | 否 | 父目录路径,默认根目录 |
|
|
375
|
+
| `bucket` | string | 否 | 存储桶,默认 `"default"` |
|
|
376
|
+
| `owner_aid` | string | 否 | 所有者 AID,默认当前用户 |
|
|
377
|
+
| `mkdirs` | boolean | 否 | 是否递归创建父目录 |
|
|
378
|
+
| `metadata` | object | 否 | 目录元数据 |
|
|
379
|
+
| `conflict_policy` | string | 否 | `"reject"` / `"return_existing"` |
|
|
380
|
+
|
|
381
|
+
**响应**:返回 `folder`,同时在顶层展开 `folder_id`、`path`、`name`、`parent_folder_id`、`version` 等字段。
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## storage.get_folder
|
|
386
|
+
|
|
387
|
+
查询目录节点。
|
|
388
|
+
|
|
389
|
+
**参数**:`folder_id` 或 `path` 至少提供一个;可选 `bucket`、`owner_aid`。
|
|
390
|
+
|
|
391
|
+
**响应**:同 `storage.create_folder` 的 `folder` 视图。
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## storage.list_children
|
|
396
|
+
|
|
397
|
+
列出目录下的直接子目录和对象。
|
|
398
|
+
|
|
399
|
+
**参数**:
|
|
400
|
+
|
|
401
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
402
|
+
|------|------|------|------|
|
|
403
|
+
| `folder_id` / `path` | string | 否 | 目标目录;都不传表示根目录 |
|
|
404
|
+
| `type` | string | 否 | `"all"` / `"folder"` / `"object"`,默认 `"all"` |
|
|
405
|
+
| `bucket` | string | 否 | 存储桶,默认 `"default"` |
|
|
406
|
+
| `owner_aid` | string | 否 | 所有者 AID,默认当前用户 |
|
|
407
|
+
| `page` | integer | 否 | 页码,默认 1 |
|
|
408
|
+
| `size` | integer | 否 | 每页数量,最大受服务配置限制 |
|
|
409
|
+
| `order_by` | string | 否 | `"name"` / `"updated_at"` / `"size_bytes"` |
|
|
410
|
+
| `order` | string | 否 | `"asc"` / `"desc"` |
|
|
411
|
+
| `include_metadata` | boolean | 否 | 是否返回元数据,默认 `true` |
|
|
412
|
+
| `include_urls` | boolean | 否 | 是否返回 URL 字段,默认 `true` |
|
|
413
|
+
|
|
414
|
+
**响应**:`folder`、`items`、`total`、`page`、`size`、`next_marker`。`items[].node_type` 区分 `folder` / `object`。
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
## storage.rename_folder
|
|
419
|
+
|
|
420
|
+
重命名目录。根目录不可改名。
|
|
421
|
+
|
|
422
|
+
**参数**:`folder_id` 或 `path`,`new_name` 必填;可选 `bucket`、`owner_aid`、`expected_version`。
|
|
423
|
+
|
|
424
|
+
**响应**:更新后的 `folder` 视图。
|
|
425
|
+
|
|
426
|
+
---
|
|
427
|
+
|
|
428
|
+
## storage.move_folder
|
|
429
|
+
|
|
430
|
+
移动目录。不能移动到自身或自身子目录。
|
|
431
|
+
|
|
432
|
+
**参数**:`folder_id` 或 `path`,目标目录通过 `dst_parent_folder_id` 或 `dst_parent_path` 指定;可选 `new_name`、`bucket`、`owner_aid`、`expected_version`。
|
|
433
|
+
|
|
434
|
+
**响应**:更新后的 `folder` 视图。
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
## storage.delete_folder
|
|
439
|
+
|
|
440
|
+
删除目录。
|
|
441
|
+
|
|
442
|
+
**参数**:
|
|
443
|
+
|
|
444
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
445
|
+
|------|------|------|------|
|
|
446
|
+
| `folder_id` / `path` | string | 是 | 待删除目录 |
|
|
447
|
+
| `recursive` | boolean | 否 | 非空目录必须传 `true` |
|
|
448
|
+
| `dry_run` | boolean | 否 | 只预览将删除的目录/对象 |
|
|
449
|
+
| `bucket` | string | 否 | 存储桶,默认 `"default"` |
|
|
450
|
+
| `owner_aid` | string | 否 | 所有者 AID,默认当前用户 |
|
|
451
|
+
|
|
452
|
+
**响应**:`deleted_folders`、`deleted_objects`、`deleted_object_items`、`errors`;`dry_run=true` 时返回预览列表。
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
## storage.resolve_path
|
|
457
|
+
|
|
458
|
+
按路径解析目录或对象。
|
|
459
|
+
|
|
460
|
+
**参数**:`path` 必填;可选 `expected_type`(`"any"` / `"object"` / `"folder"`)、`bucket`、`owner_aid`。
|
|
461
|
+
|
|
462
|
+
**响应**:`type`、`folder_id` 或 `object_id`、`path`、`status`。
|
|
463
|
+
|
|
464
|
+
---
|
|
465
|
+
|
|
466
|
+
## storage.move_object
|
|
467
|
+
|
|
468
|
+
移动或重命名对象。
|
|
469
|
+
|
|
470
|
+
**参数**:对象选择器(`object_id` / `object_key` / `path`),目标目录 `dst_parent_folder_id` 或 `dst_parent_path`;可选 `new_name`、`conflict_policy`(`"reject"` / `"replace"` / `"keep_both"`)、`expected_version`。
|
|
471
|
+
|
|
472
|
+
**响应**:返回 `object`,同时在顶层展开对象视图字段。
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
476
|
+
## storage.copy_object
|
|
477
|
+
|
|
478
|
+
复制对象,底层内容按 CAS 引用计数复用。
|
|
479
|
+
|
|
480
|
+
**参数**:源对象选择器(`object_id` / `object_key` / `path`,也接受 `src_object_key` / `src_path`),目标 `dst_object_key` / `dst_path` 或目标父目录 + `new_name`;可选 `conflict_policy`、`copy_metadata`。
|
|
481
|
+
|
|
482
|
+
**响应**:新对象视图。
|
|
483
|
+
|
|
484
|
+
---
|
|
485
|
+
|
|
486
|
+
## storage.batch_delete
|
|
487
|
+
|
|
488
|
+
批量删除对象或目录。
|
|
489
|
+
|
|
490
|
+
**参数**:
|
|
491
|
+
|
|
492
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
493
|
+
|------|------|------|------|
|
|
494
|
+
| `items` | array | 否 | 每项含 `type`、`object_id` / `object_key` / `path` / `folder_id` |
|
|
495
|
+
| `object_keys` | string[] | 否 | 兼容简写,转为对象删除 |
|
|
496
|
+
| `recursive` | boolean | 否 | 删除目录时是否递归 |
|
|
497
|
+
| `dry_run` | boolean | 否 | 只预览 |
|
|
498
|
+
|
|
499
|
+
**响应**:`deleted`、`errors`、`deleted_count`、`summary`。
|
|
500
|
+
|
|
501
|
+
---
|
|
502
|
+
|
|
503
|
+
## storage.batch_head_object
|
|
504
|
+
|
|
505
|
+
批量查询对象元数据。
|
|
506
|
+
|
|
507
|
+
**参数**:`object_ids`、`paths` 至少提供一类;可选 `owner_aid`、`bucket`、`include_missing`、`include_metadata`、`include_urls`。
|
|
508
|
+
|
|
509
|
+
**响应**:`items` 和 `errors`。
|
|
510
|
+
|
|
511
|
+
---
|
|
512
|
+
|
|
513
|
+
## storage.set_object_meta
|
|
514
|
+
|
|
515
|
+
更新对象元数据和可选 MIME 类型。
|
|
516
|
+
|
|
517
|
+
**参数**:对象选择器,`metadata`;可选 `merge`(默认 `true`)、`content_type`、`expected_version`。
|
|
518
|
+
|
|
519
|
+
**响应**:更新后的对象视图。
|
|
520
|
+
|
|
521
|
+
---
|
|
522
|
+
|
|
523
|
+
## storage.get_object_url
|
|
524
|
+
|
|
525
|
+
获取稳定对象 URL。
|
|
526
|
+
|
|
527
|
+
**参数**:对象选择器;可选 `include_path_url`。
|
|
528
|
+
|
|
529
|
+
**响应**:`object_id`、`object_url`、`path_url`、`stable`。
|
|
530
|
+
|
|
531
|
+
---
|
|
532
|
+
|
|
533
|
+
## storage.append_object
|
|
534
|
+
|
|
535
|
+
向对象尾部追加 base64 内容;对象不存在时创建。
|
|
536
|
+
|
|
537
|
+
**参数**:与 `storage.put_object` 类似,`content` 必填;可选 `object_key` / `path` / `name`、`bucket`、`owner_aid`、`content_type`、`metadata`、`expected_version`、`is_private`。
|
|
538
|
+
|
|
539
|
+
**响应**:对象视图。
|
|
540
|
+
|
|
541
|
+
---
|
|
542
|
+
|
|
543
|
+
## storage.create_upload_session
|
|
544
|
+
|
|
545
|
+
获取上传用 presigned URL。
|
|
488
546
|
|
|
489
547
|
### 参数
|
|
490
548
|
|
|
@@ -534,7 +592,7 @@ for obj in result["items"]:
|
|
|
534
592
|
| `content_type` | string | 否 | MIME 类型,默认 `"application/octet-stream"` |
|
|
535
593
|
| `is_private` | boolean | 否 | 是否私有,默认 `true` |
|
|
536
594
|
| `size_bytes` | integer | 否 | 预期文件大小(用于校验) |
|
|
537
|
-
| `skip_blob` | boolean | 否 | 秒传模式,默认 `false`;为 `true` 时跳过 blob 上传,必须提供 `sha256`,且当前 owner 已拥有相同内容 |
|
|
595
|
+
| `skip_blob` | boolean | 否 | 秒传模式,默认 `false`;为 `true` 时跳过 blob 上传,必须提供 `sha256`,且当前 owner 已拥有相同内容 |
|
|
538
596
|
| `expected_version` | integer | 否 | 乐观并发控制版本号 |
|
|
539
597
|
| `expire_in_seconds` | integer | 否 | 过期时间(秒) |
|
|
540
598
|
| `metadata` | object | 否 | 自定义元数据 |
|
|
@@ -543,7 +601,7 @@ for obj in result["items"]:
|
|
|
543
601
|
|
|
544
602
|
| 字段 | 类型 | 说明 |
|
|
545
603
|
|------|------|------|
|
|
546
|
-
| `url` | string | **AID 风格 URL(默认/推荐)**:`https://{owner_aid}/
|
|
604
|
+
| `url` | string | **AID 风格 URL(默认/推荐)**:`https://{owner_aid}/{object_key}`,经 NameService fallback 302 跳转 |
|
|
547
605
|
| `logical_url` | string | 直链 URL:`https://storage.{issuer}/{user}/{object_key}`,无跳转 |
|
|
548
606
|
| `owner_aid` | string | 所有者 AID |
|
|
549
607
|
| `bucket` | string | 存储桶 |
|
|
@@ -574,10 +632,11 @@ for obj in result["items"]:
|
|
|
574
632
|
|
|
575
633
|
| 字段 | 类型 | 说明 |
|
|
576
634
|
|------|------|------|
|
|
577
|
-
| `url` | string | **AID 风格 URL
|
|
578
|
-
| `logical_url` | string | 直链 URL:`https://storage.{issuer}/{user}/{object_key}`,直达 storage
|
|
579
|
-
| `download_url` | string |
|
|
580
|
-
| `expire_at` | integer |
|
|
635
|
+
| `url` | string | **AID 风格 URL(默认/推荐)**:public 文件为 `https://{owner_aid}/{object_key}`,private 文件为 `https://{owner_aid}/{object_key}?t={token}`。经 NameService fallback 302 跳转到 storage 服务,storage 实时鉴权后出文件(302 到 blob 后端,对客户端透明) |
|
|
636
|
+
| `logical_url` | string | 直链 URL:`https://storage.{issuer}/{user}/{object_key}`,直达 storage 服务,无 NameService 跳转 |
|
|
637
|
+
| `download_url` | string | 同 `url`(兼容旧客户端,格式已统一) |
|
|
638
|
+
| `expire_at` | integer | token 过期时间戳(Unix 秒),public 文件此字段无实际约束 |
|
|
639
|
+
| `token` | string | private 文件的不透明访问 token(10 位 Base62),public 文件无此字段 |
|
|
581
640
|
| `file_name` | string | 文件名(从 object_key 提取) |
|
|
582
641
|
| `size_bytes` | integer | 文件大小(字节) |
|
|
583
642
|
| `content_type` | string | MIME 类型 |
|
|
@@ -585,9 +644,7 @@ for obj in result["items"]:
|
|
|
585
644
|
| `version` | integer | 版本号 |
|
|
586
645
|
| `etag` | string | 实体标签 |
|
|
587
646
|
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
> 当前实现会对 BlobStore 返回的 loopback URL 做对外地址规范化:优先使用 `KITE_STORAGE_EXTERNAL_URL`,否则按 `storage.{issuer}` 形式改写。对外地址不可使用 `127.0.0.1` 或 `localhost`。
|
|
647
|
+
`url` 是推荐使用的干净链接。访问时 storage 服务实时鉴权:public 文件直接通过,private 文件需 `?t=` token 或 `Authorization: Bearer <AID JWT>` 头证明 owner 身份。鉴权通过后 storage 302 到 blob 后端完成实际下载,这一步对客户端完全透明。
|
|
591
648
|
|
|
592
649
|
---
|
|
593
650
|
|
|
@@ -650,25 +707,25 @@ print(f"配额: {limits['quota_used_bytes']}/{limits['quota_total_bytes']}")
|
|
|
650
707
|
|
|
651
708
|
## storage.check_upload
|
|
652
709
|
|
|
653
|
-
上传预检:一次调用同时回答"文件是否超限"和"当前 owner 是否可秒传"。客户端应在计算完文件 SHA-256 后、实际上传前调用。
|
|
654
|
-
|
|
655
|
-
> `check_upload` / `complete_upload(skip_blob=true)` 只允许复用当前 owner 已拥有的内容,避免跨 owner 暴露全局 CAS 存在性或跳过上传克隆他人私有内容。不同 owner 上传相同内容时,仍会在完成上传后归一到同一个 CAS blob,由服务端引用计数管理物理去重。
|
|
710
|
+
上传预检:一次调用同时回答"文件是否超限"和"当前 owner 是否可秒传"。客户端应在计算完文件 SHA-256 后、实际上传前调用。
|
|
711
|
+
|
|
712
|
+
> `check_upload` / `complete_upload(skip_blob=true)` 只允许复用当前 owner 已拥有的内容,避免跨 owner 暴露全局 CAS 存在性或跳过上传克隆他人私有内容。不同 owner 上传相同内容时,仍会在完成上传后归一到同一个 CAS blob,由服务端引用计数管理物理去重。
|
|
656
713
|
|
|
657
714
|
### 参数
|
|
658
715
|
|
|
659
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
660
|
-
|------|------|------|------|
|
|
661
|
-
| `sha256` | string | 是 | 文件内容的 SHA-256 hex(64 字符) |
|
|
662
|
-
| `size_bytes` | integer | 是 | 文件大小(字节) |
|
|
663
|
-
| `owner_aid` | string | 否 | 检查指定 owner 是否可秒传,默认当前用户;必须等于当前登录 AID |
|
|
716
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
717
|
+
|------|------|------|------|
|
|
718
|
+
| `sha256` | string | 是 | 文件内容的 SHA-256 hex(64 字符) |
|
|
719
|
+
| `size_bytes` | integer | 是 | 文件大小(字节) |
|
|
720
|
+
| `owner_aid` | string | 否 | 检查指定 owner 是否可秒传,默认当前用户;必须等于当前登录 AID |
|
|
664
721
|
|
|
665
722
|
### 响应
|
|
666
723
|
|
|
667
724
|
| 字段 | 类型 | 说明 |
|
|
668
725
|
|------|------|------|
|
|
669
726
|
| `within_limit` | boolean | 文件大小是否在限制内 |
|
|
670
|
-
| `exists` | boolean | 当前 owner 是否已拥有相同内容且 CAS blob 可用 |
|
|
671
|
-
| `skip_upload` | boolean | 是否可跳过上传(秒传) |
|
|
727
|
+
| `exists` | boolean | 当前 owner 是否已拥有相同内容且 CAS blob 可用 |
|
|
728
|
+
| `skip_upload` | boolean | 是否可跳过上传(秒传) |
|
|
672
729
|
|
|
673
730
|
### 使用场景
|
|
674
731
|
|
|
@@ -686,7 +743,7 @@ check = await client.call("storage.check_upload", {
|
|
|
686
743
|
if not check["within_limit"]:
|
|
687
744
|
print("文件超限,无法上传")
|
|
688
745
|
elif check["skip_upload"]:
|
|
689
|
-
# 秒传:当前 owner 已拥有相同内容,跳过上传直接 complete
|
|
746
|
+
# 秒传:当前 owner 已拥有相同内容,跳过上传直接 complete
|
|
690
747
|
await client.call("storage.complete_upload", {
|
|
691
748
|
"object_key": "my/file.bin",
|
|
692
749
|
"sha256": sha256,
|
|
@@ -729,13 +786,16 @@ else:
|
|
|
729
786
|
| 字段 | 类型 | 说明 |
|
|
730
787
|
|------|------|------|
|
|
731
788
|
| `share_id` | string | 10 位 Base62 分享短码 |
|
|
732
|
-
| `
|
|
733
|
-
| `
|
|
789
|
+
| `url` | string | **默认分享 URL(隐藏路径)**:`https://{owner_aid}/s/{share_id}`,最短直链 |
|
|
790
|
+
| `path_url` | string | **可选分享 URL(暴露路径)**:`https://{owner_aid}/{object_key}?t={share_id}`,可读性强 |
|
|
791
|
+
| `aid_share_url` | string | 同 `url`(兼容旧字段) |
|
|
792
|
+
| `share_url` | string | storage 直链:`https://storage.{issuer}/s/{share_id}`,兼容字段 |
|
|
734
793
|
| `expire_at` | integer | 过期时间戳(Unix 秒),`0` 表示永不过期 |
|
|
735
794
|
| `max_uses` | integer | 最大使用次数,`0` 表示无限制 |
|
|
736
795
|
| `allowed_aids` | string[] | 授权 AID 列表,`["*"]` 表示公开 |
|
|
737
796
|
|
|
738
|
-
>
|
|
797
|
+
> 两种格式都通过 `share_id` 定位到 `share_links` 记录鉴权。`url` 隐藏文件结构,`path_url` 暴露文件名便于识别,调用者按需选择。
|
|
798
|
+
> 访问 `url` 时经 NameService 302 跳转到 `storage.{issuer}/s/{share_id}`;访问 `path_url` 时经 NameService fallback 到 storage,由 `?t=` token 鉴权。
|
|
739
799
|
> share_id 指向 `(owner_aid, bucket, object_key)` 逻辑引用,非内容快照:对象改名/移动后原 share_id 失效,内容覆盖后下载到新内容。
|
|
740
800
|
|
|
741
801
|
### 示例
|
|
@@ -747,7 +807,7 @@ result = await client.call("storage.create_share_link", {
|
|
|
747
807
|
"expire_in_seconds": 3600,
|
|
748
808
|
"max_uses": 5,
|
|
749
809
|
})
|
|
750
|
-
share_url = result["
|
|
810
|
+
share_url = result["url"] # https://alice.agentid.pub/s/Ab3xK9mZ2q
|
|
751
811
|
```
|
|
752
812
|
|
|
753
813
|
---
|
|
@@ -774,8 +834,10 @@ share_url = result["aid_share_url"]
|
|
|
774
834
|
| 字段 | 类型 | 说明 |
|
|
775
835
|
|------|------|------|
|
|
776
836
|
| `share_id` | string | 分享短码 |
|
|
777
|
-
| `
|
|
778
|
-
| `
|
|
837
|
+
| `url` | string | 默认分享 URL(隐藏路径):`https://{owner_aid}/s/{share_id}` |
|
|
838
|
+
| `path_url` | string | 可选分享 URL(暴露路径):`https://{owner_aid}/{object_key}?t={share_id}` |
|
|
839
|
+
| `aid_share_url` | string | 同 `url`(兼容旧字段) |
|
|
840
|
+
| `share_url` | string | storage 直链(兼容) |
|
|
779
841
|
| `object_key` | string | 被分享对象路径 |
|
|
780
842
|
| `bucket` | string | 存储桶 |
|
|
781
843
|
| `allowed_aids` | string[] | 授权 AID 列表,`["*"]` 表示公开 |
|
|
@@ -786,9 +848,9 @@ share_url = result["aid_share_url"]
|
|
|
786
848
|
|
|
787
849
|
---
|
|
788
850
|
|
|
789
|
-
## storage.revoke_share_link
|
|
790
|
-
|
|
791
|
-
撤销分享链接。
|
|
851
|
+
## storage.revoke_share_link
|
|
852
|
+
|
|
853
|
+
撤销分享链接。
|
|
792
854
|
|
|
793
855
|
### 参数
|
|
794
856
|
|
|
@@ -803,25 +865,636 @@ share_url = result["aid_share_url"]
|
|
|
803
865
|
| `revoked` | boolean | 是否成功撤销 |
|
|
804
866
|
| `share_id` | string | 被撤销的分享短码 |
|
|
805
867
|
|
|
806
|
-
> 链接不存在或已撤销时返回通用错误(`-32000`)。
|
|
807
|
-
|
|
808
|
-
---
|
|
809
|
-
|
|
810
|
-
## storage.get_by_share
|
|
811
|
-
|
|
812
|
-
通过分享短码读取对象。公开分享无需额外授权;私有白名单分享需要请求者 AID 在 `allowed_aids` 内。
|
|
813
|
-
|
|
814
|
-
**参数**:
|
|
815
|
-
|
|
816
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
817
|
-
|------|------|------|------|
|
|
818
|
-
| `share_id` | string | 是 | 分享短码 |
|
|
819
|
-
|
|
820
|
-
**响应**:小对象返回 `content`;大对象返回 `download_url`。同时返回 `object_id`、`object_key`、`path`、`size_bytes`、`content_type`、`sha256`。
|
|
821
|
-
|
|
822
|
-
---
|
|
823
|
-
|
|
824
|
-
##
|
|
868
|
+
> 链接不存在或已撤销时返回通用错误(`-32000`)。
|
|
869
|
+
|
|
870
|
+
---
|
|
871
|
+
|
|
872
|
+
## storage.get_by_share
|
|
873
|
+
|
|
874
|
+
通过分享短码读取对象。公开分享无需额外授权;私有白名单分享需要请求者 AID 在 `allowed_aids` 内。
|
|
875
|
+
|
|
876
|
+
**参数**:
|
|
877
|
+
|
|
878
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
879
|
+
|------|------|------|------|
|
|
880
|
+
| `share_id` | string | 是 | 分享短码 |
|
|
881
|
+
|
|
882
|
+
**响应**:小对象返回 `content`;大对象返回 `download_url`。同时返回 `object_id`、`object_key`、`path`、`size_bytes`、`content_type`、`sha256`。
|
|
883
|
+
|
|
884
|
+
---
|
|
885
|
+
|
|
886
|
+
## storage.fs.list
|
|
887
|
+
|
|
888
|
+
列目录(POSIX `ls`)。混合返回子目录/对象/软链/可用挂载点,排序 dir < file < symlink < mount。群 owner 路径回退到 Group FS 子节点。
|
|
889
|
+
|
|
890
|
+
### 参数
|
|
891
|
+
|
|
892
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
893
|
+
|------|------|------|------|------|
|
|
894
|
+
| `path` | string | 否 | `""` | 目录路径(空=根) |
|
|
895
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
896
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
897
|
+
| `page` | integer | 否 | `1` | 页码 |
|
|
898
|
+
| `size` | integer | 否 | `100` | 每页条数(受 `list_max_limit` 上限约束) |
|
|
899
|
+
| `marker` | string | 否 | — | 分页游标 |
|
|
900
|
+
| `token` | string | 否 | — | 访问 token |
|
|
901
|
+
|
|
902
|
+
### 响应
|
|
903
|
+
|
|
904
|
+
| 字段 | 类型 | 说明 |
|
|
905
|
+
|------|------|------|
|
|
906
|
+
| `nodes` | array | 节点列表,每项 `{type, node_type, name, path, mode, size, mtime, owner_principal}` |
|
|
907
|
+
| `items` | array | 同 `nodes`(兼容别名) |
|
|
908
|
+
| `total` | integer | 总数 |
|
|
909
|
+
| `page` / `size` | integer | 分页 |
|
|
910
|
+
| `next_marker` | string | 下一页游标 |
|
|
911
|
+
|
|
912
|
+
`type` 取值:`file` / `dir` / `symlink` / `mount`。
|
|
913
|
+
|
|
914
|
+
---
|
|
915
|
+
|
|
916
|
+
## storage.fs.find
|
|
917
|
+
|
|
918
|
+
递归查找(POSIX `find`),支持 name/type/size/mtime 过滤与分页。Group FS 与 `.collab` 注册表有回退。
|
|
919
|
+
|
|
920
|
+
### 参数
|
|
921
|
+
|
|
922
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
923
|
+
|------|------|------|------|------|
|
|
924
|
+
| `path` | string | 是 | — | 起始目录 |
|
|
925
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
926
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
927
|
+
| `name` | string | 否 | — | 名称 glob(如 `*.md`) |
|
|
928
|
+
| `type` | string | 否 | — | 节点类型过滤:`f`/`d`/`l`(SDK 形参 `node_type`) |
|
|
929
|
+
| `size` | string | 否 | — | 大小表达式(如 `+1M`) |
|
|
930
|
+
| `mtime` | string | 否 | — | 修改时间表达式 |
|
|
931
|
+
| `page` | integer | 否 | `1` | 页码 |
|
|
932
|
+
| `page_size` | integer | 否 | `1000` | 每页条数 |
|
|
933
|
+
| `token` | string | 否 | — | 访问 token |
|
|
934
|
+
|
|
935
|
+
### 响应
|
|
936
|
+
|
|
937
|
+
同 `storage.fs.list`:`{nodes, items, total, page, size, next_marker}`。
|
|
938
|
+
|
|
939
|
+
---
|
|
940
|
+
|
|
941
|
+
## storage.fs.df
|
|
942
|
+
|
|
943
|
+
配额/用量报告(POSIX `df`),含每 owner 卷(过期卷重新计算)。
|
|
944
|
+
|
|
945
|
+
### 参数
|
|
946
|
+
|
|
947
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
948
|
+
|------|------|------|------|------|
|
|
949
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
950
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
951
|
+
|
|
952
|
+
### 响应
|
|
953
|
+
|
|
954
|
+
| 字段 | 类型 | 说明 |
|
|
955
|
+
|------|------|------|
|
|
956
|
+
| `owner_aid` / `bucket` | string | 所有者 / 桶 |
|
|
957
|
+
| `used_bytes` | integer | 已用字节 |
|
|
958
|
+
| `object_count` | integer | 对象数 |
|
|
959
|
+
| `quota_bytes` | integer | 配额上限 |
|
|
960
|
+
| `avail_bytes` | integer | 剩余可用 |
|
|
961
|
+
| `volumes` | array | 每卷用量明细 |
|
|
962
|
+
|
|
963
|
+
---
|
|
964
|
+
|
|
965
|
+
## storage.fs.stat
|
|
966
|
+
|
|
967
|
+
查节点元数据(POSIX `stat`)。`follow_final=true`,解析末级软链 target。
|
|
968
|
+
|
|
969
|
+
### 参数
|
|
970
|
+
|
|
971
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
972
|
+
|------|------|------|------|------|
|
|
973
|
+
| `path` | string | 是 | — | 节点路径 |
|
|
974
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
975
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
976
|
+
| `token` | string | 否 | — | 访问 token |
|
|
977
|
+
|
|
978
|
+
### 响应
|
|
979
|
+
|
|
980
|
+
fs 节点视图:`{type, node_type, name, path, mode, size, mtime, owner_principal, ...}`。
|
|
981
|
+
|
|
982
|
+
---
|
|
983
|
+
|
|
984
|
+
## storage.fs.lstat
|
|
985
|
+
|
|
986
|
+
查节点(POSIX `lstat`),**不跟随末级软链**——返回软链本身(携带 `dangling` 悬空标志),不返回 target。
|
|
987
|
+
|
|
988
|
+
### 参数
|
|
989
|
+
|
|
990
|
+
同 `storage.fs.stat`。
|
|
991
|
+
|
|
992
|
+
### 响应
|
|
993
|
+
|
|
994
|
+
fs 节点视图;若为软链,返回软链节点本身(含 `dangling` 标志)。
|
|
995
|
+
|
|
996
|
+
---
|
|
997
|
+
|
|
998
|
+
## storage.fs.mkdir
|
|
999
|
+
|
|
1000
|
+
建目录(POSIX `mkdir`)。委托 `create_folder`。
|
|
1001
|
+
|
|
1002
|
+
### 参数
|
|
1003
|
+
|
|
1004
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1005
|
+
|------|------|------|------|------|
|
|
1006
|
+
| `path` | string | 是 | — | 目录路径 |
|
|
1007
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1008
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1009
|
+
| `parents` | boolean | 否 | `false` | 递归创建父目录(类 `mkdir -p`) |
|
|
1010
|
+
|
|
1011
|
+
### 响应
|
|
1012
|
+
|
|
1013
|
+
fs 目录节点视图。
|
|
1014
|
+
|
|
1015
|
+
---
|
|
1016
|
+
|
|
1017
|
+
## storage.fs.remove
|
|
1018
|
+
|
|
1019
|
+
删除文件/目录/软链(POSIX `rm`,目录用 `recursive`)。**拒绝删除挂载点**(须先 unmount)。
|
|
1020
|
+
|
|
1021
|
+
### 参数
|
|
1022
|
+
|
|
1023
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1024
|
+
|------|------|------|------|------|
|
|
1025
|
+
| `path` | string | 是 | — | 节点路径 |
|
|
1026
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1027
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1028
|
+
| `recursive` | boolean | 否 | `false` | 递归删除目录 |
|
|
1029
|
+
|
|
1030
|
+
### 响应
|
|
1031
|
+
|
|
1032
|
+
| 字段 | 类型 | 说明 |
|
|
1033
|
+
|------|------|------|
|
|
1034
|
+
| `owner_aid` / `bucket` / `path` | string | 目标 |
|
|
1035
|
+
| `removed_count` | integer | 删除节点数 |
|
|
1036
|
+
| `deleted` | boolean | 是否删除成功 |
|
|
1037
|
+
|
|
1038
|
+
---
|
|
1039
|
+
|
|
1040
|
+
## storage.fs.rename
|
|
1041
|
+
|
|
1042
|
+
同 owner/bucket 内移动或改名(POSIX `mv`)。**跨 owner/bucket 被拒**;按节点类型分派到 move_folder / rename_symlink / move_object。
|
|
1043
|
+
|
|
1044
|
+
### 参数
|
|
1045
|
+
|
|
1046
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1047
|
+
|------|------|------|------|------|
|
|
1048
|
+
| `src` | string | 是 | — | 源路径 |
|
|
1049
|
+
| `dst` | string | 是 | — | 目标路径 |
|
|
1050
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1051
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1052
|
+
| `overwrite` | boolean | 否 | `false` | 覆盖已存在目标 |
|
|
1053
|
+
| `expected_version` | integer | 否 | — | 乐观锁版本号 |
|
|
1054
|
+
|
|
1055
|
+
### 响应
|
|
1056
|
+
|
|
1057
|
+
被重命名节点的 fs 节点视图。
|
|
1058
|
+
|
|
1059
|
+
---
|
|
1060
|
+
|
|
1061
|
+
## storage.fs.copy
|
|
1062
|
+
|
|
1063
|
+
复制对象或软链(POSIX `cp`,目录复制暂不支持)。CAS blob 引用计数复用,支持跨 owner 对象复制。
|
|
1064
|
+
|
|
1065
|
+
### 参数
|
|
1066
|
+
|
|
1067
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1068
|
+
|------|------|------|------|------|
|
|
1069
|
+
| `src` | string | 是 | — | 源路径 |
|
|
1070
|
+
| `dst` | string | 是 | — | 目标路径 |
|
|
1071
|
+
| `owner_aid` | string | 否 | 当前用户 | 源所有者 AID |
|
|
1072
|
+
| `bucket` | string | 否 | `"default"` | 源存储桶 |
|
|
1073
|
+
| `overwrite` | boolean | 否 | `false` | 覆盖已存在目标 |
|
|
1074
|
+
| `follow_symlinks` | boolean | 否 | `false` | 复制软链 target 而非软链本身 |
|
|
1075
|
+
| `dst_owner_aid` | string | 否 | 同源 | 目标所有者(SDK 形参 `dst_owner`) |
|
|
1076
|
+
| `dst_bucket` | string | 否 | 同源 | 目标存储桶 |
|
|
1077
|
+
|
|
1078
|
+
### 响应
|
|
1079
|
+
|
|
1080
|
+
被复制节点的 fs 节点视图。
|
|
1081
|
+
|
|
1082
|
+
---
|
|
1083
|
+
|
|
1084
|
+
## storage.fs.mount
|
|
1085
|
+
|
|
1086
|
+
挂载卷或他人子树进 owner 命名空间。`readonly` 默认 true;`require_approval=true` 时进入 pending 直到源 owner 批准。群成员卷挂载场景下,storage 通过 CA `aid_type=group` 识别群命名空间,命中 `/memberdata/` 时调 `group.check_membership` 实时校验成员身份。
|
|
1087
|
+
|
|
1088
|
+
### 参数
|
|
1089
|
+
|
|
1090
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1091
|
+
|------|------|------|------|------|
|
|
1092
|
+
| `mount_path` | string | 是 | — | 挂载点路径 |
|
|
1093
|
+
| `owner_aid` | string | 否 | 当前用户 | 命名空间所有者 |
|
|
1094
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1095
|
+
| `volume_id` | string | 否 | — | 挂载实体卷(与 source_* 互斥) |
|
|
1096
|
+
| `source_aid` | string | 否 | — | 虚拟卷源 AID(与 volume_id 互斥) |
|
|
1097
|
+
| `source_path` | string | 否 | — | 虚拟卷源路径 |
|
|
1098
|
+
| `source_bucket` | string | 否 | — | 虚拟卷源存储桶 |
|
|
1099
|
+
| `readonly` | boolean | 否 | `true` | 只读挂载 |
|
|
1100
|
+
| `require_approval` | boolean | 否 | `false` | 需源 owner 批准 |
|
|
1101
|
+
| `expires_at` | integer | 否 | — | 挂载过期时间 |
|
|
1102
|
+
|
|
1103
|
+
### 响应
|
|
1104
|
+
|
|
1105
|
+
| 字段 | 类型 | 说明 |
|
|
1106
|
+
|------|------|------|
|
|
1107
|
+
| `mount` | object | 挂载视图 |
|
|
1108
|
+
| `status` | string | `active`(直接生效)/ `pending`(待批准) |
|
|
1109
|
+
|
|
1110
|
+
---
|
|
1111
|
+
|
|
1112
|
+
## storage.fs.approve
|
|
1113
|
+
|
|
1114
|
+
源 owner 批准 pending 挂载(重新校验源路径存在)。`mount_id` 或 `(owner_aid, bucket, mount_path)` 二选一定位。
|
|
1115
|
+
|
|
1116
|
+
### 参数
|
|
1117
|
+
|
|
1118
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
1119
|
+
|------|------|------|------|
|
|
1120
|
+
| `mount_id` | string | 否 | 挂载 ID(或用下方三元组定位) |
|
|
1121
|
+
| `owner_aid` | string | 否 | 命名空间所有者 |
|
|
1122
|
+
| `bucket` | string | 否 | 存储桶 |
|
|
1123
|
+
| `mount_path` | string | 否 | 挂载点路径 |
|
|
1124
|
+
|
|
1125
|
+
### 响应
|
|
1126
|
+
|
|
1127
|
+
| 字段 | 类型 | 说明 |
|
|
1128
|
+
|------|------|------|
|
|
1129
|
+
| `approved` | boolean | `true` |
|
|
1130
|
+
| `mount` | object | 挂载视图 |
|
|
1131
|
+
|
|
1132
|
+
---
|
|
1133
|
+
|
|
1134
|
+
## storage.fs.reject
|
|
1135
|
+
|
|
1136
|
+
源 owner 或挂载 owner 拒绝 pending 挂载。定位方式同 `fs.approve`。
|
|
1137
|
+
|
|
1138
|
+
### 响应
|
|
1139
|
+
|
|
1140
|
+
`{rejected: boolean, mount}`。
|
|
1141
|
+
|
|
1142
|
+
---
|
|
1143
|
+
|
|
1144
|
+
## storage.fs.unmount
|
|
1145
|
+
|
|
1146
|
+
卸载挂载点(仅 owner 可操作)。
|
|
1147
|
+
|
|
1148
|
+
### 参数
|
|
1149
|
+
|
|
1150
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1151
|
+
|------|------|------|------|------|
|
|
1152
|
+
| `mount_path` | string | 是 | — | 挂载点路径 |
|
|
1153
|
+
| `owner_aid` | string | 否 | 当前用户 | 命名空间所有者 |
|
|
1154
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1155
|
+
|
|
1156
|
+
### 响应
|
|
1157
|
+
|
|
1158
|
+
`{unmounted: boolean, owner_aid, bucket, path, mount_path}`。
|
|
1159
|
+
|
|
1160
|
+
---
|
|
1161
|
+
|
|
1162
|
+
## storage.fs.invalidate_membership
|
|
1163
|
+
|
|
1164
|
+
群成员变更/群解散时失效群挂载(仅群 owner 或内部调用者)。SDK 形参不带 owner/bucket。
|
|
1165
|
+
|
|
1166
|
+
### 参数
|
|
1167
|
+
|
|
1168
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1169
|
+
|------|------|------|------|------|
|
|
1170
|
+
| `group_id` | string | 是 | — | 群 ID |
|
|
1171
|
+
| `group_owner_aid` | string | 是 | — | 群 owner AID |
|
|
1172
|
+
| `member_aid` | string | 否 | — | 成员 AID(不传=全员) |
|
|
1173
|
+
| `reason` | string | 否 | `"membership_changed"` | `dissolved` / `membership_changed` |
|
|
1174
|
+
| `status` | string | 否 | — | `inactive` / `unavailable` |
|
|
1175
|
+
|
|
1176
|
+
### 响应
|
|
1177
|
+
|
|
1178
|
+
`{group_id, group_aid, group_owner_aid, member_aid, reason, status, invalidated}`(`invalidated`=失效挂载数)。
|
|
1179
|
+
|
|
1180
|
+
---
|
|
1181
|
+
|
|
1182
|
+
## storage.create_symlink
|
|
1183
|
+
|
|
1184
|
+
创建软链。target 受限于 owner 命名空间;拒绝同名 file/dir;父路径不可含软链前缀。
|
|
1185
|
+
|
|
1186
|
+
### 参数
|
|
1187
|
+
|
|
1188
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1189
|
+
|------|------|------|------|------|
|
|
1190
|
+
| `path` | string | 是 | — | 软链路径 |
|
|
1191
|
+
| `target` | string | 是 | — | 指向目标路径 |
|
|
1192
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1193
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1194
|
+
| `overwrite` | boolean | 否 | `false` | 覆盖已存在软链 |
|
|
1195
|
+
|
|
1196
|
+
### 响应
|
|
1197
|
+
|
|
1198
|
+
软链视图(含 `dangling` 悬空标志)。
|
|
1199
|
+
|
|
1200
|
+
---
|
|
1201
|
+
|
|
1202
|
+
## storage.readlink
|
|
1203
|
+
|
|
1204
|
+
读软链 target(owner 校验)。
|
|
1205
|
+
|
|
1206
|
+
### 参数
|
|
1207
|
+
|
|
1208
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1209
|
+
|------|------|------|------|------|
|
|
1210
|
+
| `path` | string | 是 | — | 软链路径 |
|
|
1211
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1212
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1213
|
+
|
|
1214
|
+
### 响应
|
|
1215
|
+
|
|
1216
|
+
软链视图 `{symlink, target, version, ...}`。
|
|
1217
|
+
|
|
1218
|
+
---
|
|
1219
|
+
|
|
1220
|
+
## storage.atomic_repoint
|
|
1221
|
+
|
|
1222
|
+
原子重指软链 target(乐观锁 CAS)。**collab commit / tag 并发正确性的底层核心**。
|
|
1223
|
+
|
|
1224
|
+
### 参数
|
|
1225
|
+
|
|
1226
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1227
|
+
|------|------|------|------|------|
|
|
1228
|
+
| `path` | string | 是 | — | 软链路径 |
|
|
1229
|
+
| `new_target` | string | 是 | — | 新 target |
|
|
1230
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1231
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1232
|
+
| `expected_version` | integer | 否 | — | CAS 期望版本(null=跳过 CAS) |
|
|
1233
|
+
|
|
1234
|
+
### 响应
|
|
1235
|
+
|
|
1236
|
+
**成功**:`{ok: true, ...软链视图}`(version+1)。
|
|
1237
|
+
**CAS 失败**:`{ok: false, current_version, current_target}`。
|
|
1238
|
+
|
|
1239
|
+
---
|
|
1240
|
+
|
|
1241
|
+
## storage.rename_symlink
|
|
1242
|
+
|
|
1243
|
+
改软链 key(同 owner/bucket 内移动/改名),target 不变。跨 owner 被拒。
|
|
1244
|
+
|
|
1245
|
+
### 参数
|
|
1246
|
+
|
|
1247
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1248
|
+
|------|------|------|------|------|
|
|
1249
|
+
| `path` | string | 是 | — | 原软链路径(SDK 形参 `path`/服务端 `src`) |
|
|
1250
|
+
| `new_path` | string | 是 | — | 新软链路径(服务端 `dst`) |
|
|
1251
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1252
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1253
|
+
| `overwrite` | boolean | 否 | `false` | 覆盖已存在 |
|
|
1254
|
+
| `expected_version` | integer | 否 | — | CAS 期望版本 |
|
|
1255
|
+
|
|
1256
|
+
### 响应
|
|
1257
|
+
|
|
1258
|
+
**成功**:`{ok: true, ...软链视图}`。
|
|
1259
|
+
**CAS 失败**:`{ok: false, current_version, current_path, current_target}`。
|
|
1260
|
+
|
|
1261
|
+
---
|
|
1262
|
+
|
|
1263
|
+
## storage.delete_symlink
|
|
1264
|
+
|
|
1265
|
+
删软链记录(不动 target 对象)。
|
|
1266
|
+
|
|
1267
|
+
### 参数
|
|
1268
|
+
|
|
1269
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1270
|
+
|------|------|------|------|------|
|
|
1271
|
+
| `path` | string | 是 | — | 软链路径 |
|
|
1272
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1273
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1274
|
+
|
|
1275
|
+
### 响应
|
|
1276
|
+
|
|
1277
|
+
`{deleted: boolean, owner_aid, bucket, path, symlink_id, target}`。
|
|
1278
|
+
|
|
1279
|
+
---
|
|
1280
|
+
|
|
1281
|
+
## storage.set_acl
|
|
1282
|
+
|
|
1283
|
+
授予路径前缀 ACL grant(群内部 admin 或群代理写授权)。支持 `role:<role>` 形式 grantee。ACL 对目录前缀授权,子路径默认继承(最近祖先覆盖)。
|
|
1284
|
+
|
|
1285
|
+
### 参数
|
|
1286
|
+
|
|
1287
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1288
|
+
|------|------|------|------|------|
|
|
1289
|
+
| `path` | string | 是 | — | 授权路径前缀 |
|
|
1290
|
+
| `grantee_aid` | string | 是 | — | 被授权 AID(或 `role:<role>`) |
|
|
1291
|
+
| `perms` | string | 是 | — | 权限位:`r`/`w`/`rw`/`rwx`(`rwx` 含删除) |
|
|
1292
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1293
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1294
|
+
| `expires_at` | integer | 否 | — | 授权过期时间 |
|
|
1295
|
+
| `max_uses` | integer | 否 | — | 最大使用次数 |
|
|
1296
|
+
|
|
1297
|
+
### 响应
|
|
1298
|
+
|
|
1299
|
+
ACL 视图。
|
|
1300
|
+
|
|
1301
|
+
---
|
|
1302
|
+
|
|
1303
|
+
## storage.remove_acl
|
|
1304
|
+
|
|
1305
|
+
移除路径 ACL 授权。
|
|
1306
|
+
|
|
1307
|
+
### 参数
|
|
1308
|
+
|
|
1309
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1310
|
+
|------|------|------|------|------|
|
|
1311
|
+
| `path` | string | 是 | — | 授权路径前缀 |
|
|
1312
|
+
| `grantee_aid` | string | 是 | — | 被授权 AID |
|
|
1313
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1314
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1315
|
+
|
|
1316
|
+
### 响应
|
|
1317
|
+
|
|
1318
|
+
`{removed: boolean, owner_aid, bucket, path, grantee_aid}`。
|
|
1319
|
+
|
|
1320
|
+
---
|
|
1321
|
+
|
|
1322
|
+
## storage.list_acl
|
|
1323
|
+
|
|
1324
|
+
列出路径上的 ACL 授权(owner 校验)。
|
|
1325
|
+
|
|
1326
|
+
### 参数
|
|
1327
|
+
|
|
1328
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1329
|
+
|------|------|------|------|------|
|
|
1330
|
+
| `path` | string | 是 | — | 路径 |
|
|
1331
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1332
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1333
|
+
|
|
1334
|
+
### 响应
|
|
1335
|
+
|
|
1336
|
+
`{owner_aid, bucket, path, acls}`。
|
|
1337
|
+
|
|
1338
|
+
---
|
|
1339
|
+
|
|
1340
|
+
## storage.set_visibility
|
|
1341
|
+
|
|
1342
|
+
切换对象或目录的公开/私有(软链不支持)。`allow_roles` 替换 `role:` 类 ACL。
|
|
1343
|
+
|
|
1344
|
+
### 参数
|
|
1345
|
+
|
|
1346
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1347
|
+
|------|------|------|------|------|
|
|
1348
|
+
| `path` | string | 是 | — | 路径 |
|
|
1349
|
+
| `visibility` | string | 是 | — | `public` / `private` |
|
|
1350
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1351
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1352
|
+
| `allow_roles` | array | 否 | — | 允许的角色列表(替换 role ACL) |
|
|
1353
|
+
|
|
1354
|
+
### 响应
|
|
1355
|
+
|
|
1356
|
+
fs 节点视图(含 `allow_roles`)。
|
|
1357
|
+
|
|
1358
|
+
---
|
|
1359
|
+
|
|
1360
|
+
## storage.check_access
|
|
1361
|
+
|
|
1362
|
+
非抛错的访问探测——探测某操作在某路径是否放行(内部捕获 NotFound/Dangling/Permission)。
|
|
1363
|
+
|
|
1364
|
+
### 参数
|
|
1365
|
+
|
|
1366
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1367
|
+
|------|------|------|------|------|
|
|
1368
|
+
| `path` | string | 是 | — | 路径(服务端别名 `object_key`) |
|
|
1369
|
+
| `operation` | string | 否 | `"read"` | `read` / `write` / `delete`(服务端别名 `op`) |
|
|
1370
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1371
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1372
|
+
| `token` | string | 否 | — | 访问 token |
|
|
1373
|
+
| `follow_symlinks` | boolean | 否 | `true` | 跟随软链 |
|
|
1374
|
+
|
|
1375
|
+
### 响应
|
|
1376
|
+
|
|
1377
|
+
`{allowed: boolean, reason, message, requester_aid, owner_aid, bucket, path, operation}`。
|
|
1378
|
+
|
|
1379
|
+
---
|
|
1380
|
+
|
|
1381
|
+
## storage.issue_token
|
|
1382
|
+
|
|
1383
|
+
签发 hash 化的 bearer 访问 token,scope 到某路径。返回的明文 token 仅此一次可见。
|
|
1384
|
+
|
|
1385
|
+
### 参数
|
|
1386
|
+
|
|
1387
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1388
|
+
|------|------|------|------|------|
|
|
1389
|
+
| `path` | string | 是 | — | 授权路径(服务端别名 `object_key`) |
|
|
1390
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1391
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1392
|
+
| `expires_at` | integer | 否 | — | 过期时间 |
|
|
1393
|
+
| `max_reads` | integer | 否 | — | 最大读取次数(服务端别名 `max_uses`) |
|
|
1394
|
+
|
|
1395
|
+
### 响应
|
|
1396
|
+
|
|
1397
|
+
token 视图 + 明文 token(一次性返回)。
|
|
1398
|
+
|
|
1399
|
+
---
|
|
1400
|
+
|
|
1401
|
+
## storage.revoke_token
|
|
1402
|
+
|
|
1403
|
+
按明文 token 值吊销(内部 hash 后查找)。
|
|
1404
|
+
|
|
1405
|
+
### 参数
|
|
1406
|
+
|
|
1407
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1408
|
+
|------|------|------|------|------|
|
|
1409
|
+
| `path` | string | 是 | — | 路径(服务端别名 `object_key`) |
|
|
1410
|
+
| `token` | string | 是 | — | 要吊销的明文 token |
|
|
1411
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1412
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1413
|
+
|
|
1414
|
+
### 响应
|
|
1415
|
+
|
|
1416
|
+
`{revoked: boolean, owner_aid, bucket, path}`。
|
|
1417
|
+
|
|
1418
|
+
---
|
|
1419
|
+
|
|
1420
|
+
## storage.list_tokens
|
|
1421
|
+
|
|
1422
|
+
列出路径上的 token(owner 校验,不返回明文)。
|
|
1423
|
+
|
|
1424
|
+
### 参数
|
|
1425
|
+
|
|
1426
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1427
|
+
|------|------|------|------|------|
|
|
1428
|
+
| `path` | string | 是 | — | 路径 |
|
|
1429
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1430
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1431
|
+
|
|
1432
|
+
### 响应
|
|
1433
|
+
|
|
1434
|
+
token 列表(hash 摘要 + 元数据)。
|
|
1435
|
+
|
|
1436
|
+
---
|
|
1437
|
+
|
|
1438
|
+
## storage.volume.create
|
|
1439
|
+
|
|
1440
|
+
创建/upsert 配额卷(含 mount_point)。
|
|
1441
|
+
|
|
1442
|
+
### 参数
|
|
1443
|
+
|
|
1444
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1445
|
+
|------|------|------|------|------|
|
|
1446
|
+
| `size_bytes` | integer | 是 | — | 卷容量(>0) |
|
|
1447
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1448
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1449
|
+
| `volume_id` | string | 否 | 自动 | 卷 ID |
|
|
1450
|
+
| `used_bytes` | integer | 否 | — | 已用字节 |
|
|
1451
|
+
| `status` | string | 否 | `active` | `active` / `grace` / `expired` |
|
|
1452
|
+
| `mount_point` | string | 否 | — | 挂载点 |
|
|
1453
|
+
| `expires_at` | integer | 否 | — | 过期时间 |
|
|
1454
|
+
|
|
1455
|
+
### 响应
|
|
1456
|
+
|
|
1457
|
+
`{volume, ...卷视图}`。
|
|
1458
|
+
|
|
1459
|
+
---
|
|
1460
|
+
|
|
1461
|
+
## storage.volume.renew
|
|
1462
|
+
|
|
1463
|
+
续期卷过期时间/状态(owner 校验,owner 不符抛 PermissionError)。
|
|
1464
|
+
|
|
1465
|
+
### 参数
|
|
1466
|
+
|
|
1467
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1468
|
+
|------|------|------|------|------|
|
|
1469
|
+
| `volume_id` | string | 是 | — | 卷 ID(服务端别名 `id`) |
|
|
1470
|
+
| `expires_at` | integer | 是 | — | 新过期时间 |
|
|
1471
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1472
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1473
|
+
| `status` | string | 否 | — | 卷状态 |
|
|
1474
|
+
|
|
1475
|
+
### 响应
|
|
1476
|
+
|
|
1477
|
+
`{volume, ...卷视图}`。
|
|
1478
|
+
|
|
1479
|
+
---
|
|
1480
|
+
|
|
1481
|
+
## storage.volume.expire_due
|
|
1482
|
+
|
|
1483
|
+
过期所有到期卷并标记其挂载为 unavailable。
|
|
1484
|
+
|
|
1485
|
+
### 参数
|
|
1486
|
+
|
|
1487
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1488
|
+
|------|------|------|------|------|
|
|
1489
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1490
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1491
|
+
| `now` | integer | 否 | 当前时间 | 判定基准时间 |
|
|
1492
|
+
|
|
1493
|
+
### 响应
|
|
1494
|
+
|
|
1495
|
+
`{owner_aid, bucket, expired, mounts_unavailable, volumes, mounts}`。
|
|
1496
|
+
|
|
1497
|
+
## 错误码
|
|
825
1498
|
|
|
826
1499
|
| code | 说明 |
|
|
827
1500
|
|------|------|
|
|
@@ -829,4 +1502,4 @@ share_url = result["aid_share_url"]
|
|
|
829
1502
|
| -32004 | 权限拒绝(requester 不是对象 owner,或非公开对象的读权限不足) |
|
|
830
1503
|
| -32008 | 对象不存在(`ErrNotFound`) |
|
|
831
1504
|
| -32009 | 版本冲突(`ErrVersionConflict`,`expected_version` 与实际版本不匹配) |
|
|
832
|
-
| -32000 | 通用错误(参数校验失败、配额不足、base64 解码失败、文件大小超限等) |
|
|
1505
|
+
| -32000 | 通用错误(参数校验失败、配额不足、base64 解码失败、文件大小超限等) |
|