我已经使用 docker-compose 安装了最后一个SeaweedFS版本( ) ,version 30GB 1.72 linux amd64我正在运行master,服务器。volumefiler
所有系统似乎工作正常,我可以上传和下载文件,但是当我在目录上查询时的 API 响应与官方文档中显示的响应不同。
例如,当我/dir1使用以下命令查询目录时:
curl -H "accept: application/json" localhost:8888/dir1/?pretty=y
响应如下:
{
"Path": "/dir1",
"Entries": [
{
"FullPath": "/dir1/nyfile.bin",
"Mtime": "2020-04-16T17:56:55Z",
"Crtime": "2020-04-16T17:56:55Z",
"Mode": 432,
"Uid": 1000,
"Gid": 1000,
"Mime": "application/octet-stream",
"Replication": "000",
"Collection": "",
"TtlSec": 0,
"UserName": "",
"GroupNames": null,
"SymlinkTarget": "",
"Md5": "zQnaPjjZsQpiU+N3RXp7GQ==",
"Extended": null,
"chunks": [
{
"file_id": "7,030d2d9790",
"size": 55320265,
"mtime": 1587059815546104803,
"e_tag": "7b71a215",
"fid": {
"volume_id": 7,
"file_key": 3,
"cookie": 221091728
}
}
]
}
],
"Limit": 100,
"LastFileName": "weed.bin",
"ShouldDisplayLoadMore": false
}
该响应与文档中的示例完全不同(https://github.com/chrislusf/seaweedfs/wiki/Filer-Server-API):
> curl -H "Accept: application/json" "http://localhost:8888/javascript/?pretty=y" # list all files under /javascript/
{
"Directory": "/javascript/",
"Files": [
{
"name": "new_name.js",
"fid": "3,034389657e"
},
{
"name": "report.js",
"fid": "7,0254f1f3fd"
}
],
"Subdirectories": null
}
所以,我有一些问题:
- 新 Filer REST API 的文档(如果存在)在哪里?
- 如何使用新 API 确定什么是文件和目录?
- 目前,我正在使用“块”属性,如果有“块”那么它是一个文件,否则是一个目录。
- 如何获取文件的大小?我应该总结所有块中的 size 属性吗?