未知的 SeaweedFs Filer API 响应格式

Unknown SeaweedFs Filer API response format

我使用 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
}

所以,我有一些问题:

  • 还没有文档。 REST API 不在内部使用。使用 gRPC 进行更高级的使用。
  • 模式遵循 os.Mode https://golang.org/pkg/os/#FileMode。使用 os.ModeDir 确定文件或目录。
  • 块可能有重叠。使用文件大小的最高水印。