GB/T 31916.3-2018 信息技术 云数据存储和管理 第3部分:分布式文件存储应用接口
- 名 称:GB/T 31916.3-2018 信息技术 云数据存储和管理 第3部分:分布式文件存储应用接口 - 下载地址2
- 下载地址:[下载地址2]
- 提 取 码:
- 浏览次数:3
发表评论
加入收藏夹
错误报告
目录| 新闻评论(共有 0 条评论) |
资料介绍
ICS 35 . 100 . 05 L 79
中 华 人 民 共 和 国 国 家 标 准
GB/T 31916 . 3—2018
信息技术 云数据存储和管理
第 3 部分:分布式文件存储应用接口
Informationtechnology—Clouddatastorageandmanagement—
part3:Distributedfilestorageapplicationinterface
2018-06-07 发布 2019-01-01 实施
国家市场监督管理总局中国国家标准化管理委员会
发
布
GB/T 31916 . 3—2018
GB/T 31916 . 3—2018
前 言
GB/T 31916《信息技术 云数据存储和管理》分为六个部分:
— 第 1 部分:总则;
— 第 2 部分:基于对象的云存储应用接口;
— 第 3 部分:分布式文件存储应用接口;
— 第 4 部分:基于块的云存储应用接口;
— 第 5 部分:基于键值(Key-Value)的云数据管理应用接口;
— 第 6 部分:分布式关系数据库应用接口 。
本部分为 GB/T 31916 的第 3 部分。
本部分按照 GB/T 1 . 1—2009 给出的规则起草。
本部分由全国信息技术标准化技术委员会(SAC/TC 28)提出并归口 。
本部分起草单位:上海计算机软件技术开发中心、中国电子技术标准化研究院、浪潮(北京)电子信息产业有限公司、华为技术有限公司、华中科技大学、阿里云计算有限公司、中国科学院深圳先进技术研究院、深圳赛西信息技术有限公司。
本部分主要起草人:蔡立志、陈志峰、陈文捷、颜秉珩、胡芸、王志鹏、吴涛、杨丽蕴、王洁萍、周景才、刘振宇、赵江、周可、喻之斌、贝振东、易晶晶、王学英。
GB/T 31916 . 3—2018
信息技术 云数据存储和管理
第 3 部分:分布式文件存储应用接口
1 范围
GB/T 31916 的本部分给出了分布式文件存储的体系结构,规定了分布式文件存储的应用接 口通用要求和应用接口 。
本部分适用于分布式文件存储的设计、开发、测试和使用。
2 符合性
本部分所定义的接口分为必选项和可选项,其中文件接口 、文件夹接口和回收站接口为必选接 口,其他接口为可选接口,每一个接口命令的参数可能包含必选参数和可选参数。 符合性包含以下几种情况:
a) 一个系统实现了所有的接口(包含必选接口和可选接口),可声称为完全符合本部分。
b ) 一个系统实现了所有的必选接口,可声称为符合本部分。
c) 一个系统没有完全实现所有的必选接口,则不符合本部分。
3 规范性引用文件
下列文件对于本文件的应用是必不可少的。 凡是注 日期的引用文件,仅注 日期的版本适用于本文件 。凡是不注 日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 7408—2005 数据元和交换格式 信息交换 日期和时间表示法
GB/T 31916 . 1—2015 信息技术 云数据存储和管理 第 1 部分:总则
RFC 822 ARPA 互联网文本消息格式标准(Standard for the Format of ARPA Internet Text
Messages)
RFC 2616 超文本传输协议(HTTP)1.1(Hypertext Transfer Protocol HTTP/1.1)
RFC 7159 JavaScript对象标记(JSON)数据交换格式[The JavaScript Object Notation (JSON) Data Interchange Format]
4 术语、定义和缩略语
4 . 1 术语和定义
GB/T 31916 . 1—2015 界定的以及下列术语和定义适用于本文件。
4 . 1 . 1
分布式文件存储 distributedfilesystem
一种作为应用安装在操作系统之上的文件系统,其存储资源分布在不同的计算机节点上,并通过计算机网络相连。
GB/T 31916 . 3—2018
4 . 2 缩略语
下列缩略语适用于本文件。
ACL 访问控制列表(Access Control List)
HTTP 超文本传输协议(Hypertext Transfer Protocol)
JSON JavaScript对象标记法(JavaScript Object Notation)
URL 统一资源定位符(Uniform Resource Locator)
5 分布式文件存储接口定位和系统结构
5 . 1 分布式文件存储接口定位
应用层的分布式文件存储接口的定位,如图 1 所示。 从操作系统的视角看,应用层分布式文件存储作为一个传统操作系统的应用,不涉及操作系统内核相关的操作,避免了分布式文件存储对于操作系统的依赖和约束。 同时,应用层分布式文件存储提供了各类接 口,其中文件接 口 、文件夹接 口 、回收站接口 、扩展属性接口 、快照接口 、ACL接口为上层的各类应用系统提供必要的功能支撑。 除应用接口外,分布式文件存储也提供一些管理功能的接口供管理员使用,见附录 A。
图 1 分布式文件存储接口定位
5 . 2 分布式文件存储系统结构
分布式文件存储的系统结构包括:元数据服务器、数据存储服务器、监控服务器和客户端。 图 2 展示了这种分布式文件存储的一般体系结构。
GB/T 31916 . 3—2018
图 2 分布式文件存储的一般体系结构
元数据服务器:提供整个文件系统的目录信息,并且管理各个存储服务器,是整个文件系统的核心。元数据服务器维护着一张表,其中记录了文件系统中所有的文件名与该文件存储地址的对应关系。 元数据服务器还有管理各个存储服务器的功能。 元数据服务器可以有一个或多个。
数据存储服务器:用于存放实际的文件数据。 所有的分布式文件存储都需要有至少一个存储服务器 。客户端查询到某个文件的实际存放地址后就直接和存储服务器通信以获取文件。
监控服务器:提供整个分布式文件存储的服务监控、日志记录等管理功能,可为整个服务运行提供管理支持。 在某些分布式文件存储中监控服务器的功能整合到了元数据服务器中。
客户端:使用分布式文件存储来存储和访问的主机称为分布式文件存储的客户端,成功连接文件系统以后,就可以通过应用接口对文件系统进行操作。
6 应用接口通用要求
6 . 1 概述
分布式文件存储应用接口通用要求包括接口协议、身份安全管理、命名规则、状态码信息描述、补充出错信息、公共请求头、公共响应头和出错信息描述要求 8 项内容。 其中,接口协议、身份安全管理、状态码信息描述和出错信息描述要求 4 项内容见 GB/T 31916 . 1—2015 中相应部分。
6 . 2 命名规则
所有文件、文件夹、路径的命名规则如下:
— 名称可用字母、数字、下划线(_)、短横线(-)和中文字符。
— 名称应以字母、数字或者中文字符开头。
— 名称最长可允许 256 个字符。
所有响应中需要命名的部分见 RFC 7159 。
6 . 3 补充出错信息
分布式文件存储发生的出错响应较为复杂,需要对 HTTP状态码补充出错信息描述。 出错信息格式符合 GB/T 31916 . 1—2015 中 5 . 4 的要求。 补充出错信息描述见附录 B。
GB/T 31916 . 3—2018
6 . 4 公共请求头
公共请求头应包括信息见表 1(见 RFC 2616) 。
表 1 公共请求头信息
6 . 5 公共响应头
公共响应头应包括信息见表 2 。
表 2 公共响应头信息
7 文件接口要求
7 . 1 概述
分布式文件存储的文件接口是对系统中的文件进行操作的接 口,包括创建文件、删除文件、上传文件、下载文件、追加写文件、复制文件、重命名文件、查看文件状态、修改文件属性、文件搜索、读文件和写文件。 文件接口是必选接口 。
7 . 2 创建文件
7 . 2 . 1 功能描述
创建文件的操作参数为:CreateFile,用于在分布式文件存储中创建文件。创建的文件名应在文件
夹中唯一 。
7 . 2 . 2 请求定义
PUT /〈Account〉/〈Path〉?op=createfile&name=xxx[&overwrite=true/false][&permission= xxx][&replication=〈short〉][ &trashtime=〈time〉]HTTP/1.1
GB/T 31916 . 3—2018
Host : [ HostName]
Accept: application/j son
Content-Type: application/j son
Authorization:[signaturevalue]
7 . 2 . 3 请求 URL
http://example.distfs.cn/〈Account〉/〈Path〉/
其中:〈Account〉表示账户 ID,〈Path〉表示创建文件的位置。
7 . 2 . 4 请求消息头
按公共请求头定义。
7 . 2 . 5 请求消息参数
请求消息参数见表 3 。
表 3 请求消息参数
7 . 2 . 6 请求消息体无 。
7 . 2 . 7 响应状态码
响应状态码及其描述见表 4 。
表 4 响应状态码
GB/T 31916 . 3—2018
表 4(续)
7 . 2 . 8 响应定义
HTTP/1 . 1 200 OK
Date : date
Content-Type: application/j son
Content-Length: length
Server : server
{
"ctime" : " xxxxxxxx"
}
7 . 2 . 9 响应消息头
按公共响应头定义。
7 . 2 . 10 响应消息体
响应消息体中各参数描述见表 5 。
表 5 响应消息体
7 . 2 . 1 1 请求和响应示例
请求消息和响应消息见示例。
示例:
请求消息:
PUT /MyAccount/temp? op=createfile&name=temp.txt
&overwrite=true&permission=rwx&replication= 5 &trashtime= 12M HTTP/1.1 Host: example.distfs.cn
GB/T 31916 . 3—2018
Accept: application/json
Content-Type: application/json
Authorization : 15IUYRRTY876OIU4D
响应消息:
HTTP/1 . 1 200 OK
Date : Sun , 6 Feb 2011 18 : 10 : 00 GMT
Content-Type: application/json
Content-Length: length
Server: example.distfs.cn
{
"ctime" : "2006-11-18T06 : 12 : 00 "
}
7 . 3 删除文件
7 . 3 . 1 功能描述
删除文件的操作参数为:DeleteFile,用于删除文件。删除文件时系统应将之放入回收站。
7 . 3 . 2 请求定义
DELETE /〈Account〉/〈Path〉?op=deletefile&name=xxx[&trashtime=〈time〉]HTTP/1.1
Host : [ HostName]
Accept: application/j son
Content-Type: application/j son
Authorization:[signaturevalue]
7 . 3 . 3 请求 URL
http://example.distfs.cn/〈Account〉/〈Path〉/
其中:〈Account〉表示账户 ID,〈Path〉表示文件的位置。
7 . 3 . 4 请求消息头
按公共请求头定义。
7 . 3 . 5 请求消息参数
请求消息参数见表 6 。
表 6 请求消息参数
7 . 3 . 6 请求消息体无 。
GB/T 31916 . 3—2018
7 . 3 . 7 响应状态码
响应状态码及其描述见表 7 。
表 7 响应状态码
7 . 3 . 8 响应定义
HTTP/1 . 1 200 OK
Date : date
Content-Type: application/j son
Server : server
7 . 3 . 9 响应消息头
按公共响应头定义。
7 . 3 . 10 响应消息体无 。
7 . 3 . 1 1 请求和响应示例
请求消息和响应消息见示例。
示例:
请求消息:
DELETE /MyAccount/temp? op=deletefile&name=tmp
HTTP/1 . 1
Host: example.distfs.cn
Accept: application/json
Content-Type: application/json
Authorization : 15IUYRRTY876OIU4D
响应消息:
HTTP/1 . 1 200 OK
Date : Sun , 6 Feb 2011 18 : 10 : 00 GMT
Content-Type: application/json
Server: example.distfs.cn
GB/T 31916 . 3—2018
7 . 4 上传文件
7 . 4 . 1 功能描述
上传文件的操作参数为:UploadFile,用于上传本地的文件到分布式文件存储。
7 . 4 . 2 请求定义
PUT /〈Account〉/〈Path〉?op=uploadfile&[&overwrite=0|1|2][&permission=xxx] [&replication=〈short〉][ &trashtime=〈time〉]HTTP/1.1
Host : [ HostName]
Accept: application/j son
Content-Type: application/j son
Authorization:[signaturevalue]
{
"localfilepath" : "xxxxxx"
}
7 . 4 . 3 请求 URL
http://example.distfs.cn/〈Account〉/〈Path〉/
其中:〈Account〉表示账户 ID,〈Path〉表示上传到的文件夹的位置。
7 . 4 . 4 请求消息头
按公共请求头定义。
7 . 4 . 5 请求消息参数
请求消息参数见表 8 。
表 8 请求消息参数
7 . 4 . 6 请求消息体
请求消息体中各参数描述见表 9 。
GB/T 31916 . 3—2018
表 9 请求消息体
7 . 4 . 7 响应状态码
响应状态码及其描述见表 10 。
表 10 响应状态码
7 . 4 . 8 响应定义
HTTP/1 . 1 200 OK
Date : date
Content-Type: application/j son
Content-Length: length
Server : server
{
"filepath" : "xxxxxx" ,
"ctime" : " xxxxxxxxxx" }
7 . 4 . 9 响应消息头
按公共响应头定义。
7 . 4 . 10 响应消息体
响应消息体中各参数描述见表 11 。
GB/T 31916 . 3—2018
表 1 1 响应消息体
7 . 4 . 1 1 请求和响应示例
请求消息和响应消息见示例。
示例:
请求消息:
PUT /MyAccount/temp? op = uploadfile&overwrite = 2&permission = rwx&replication = 5 &trashtime = 12M
HTTP/1 . 1
Host: example.distfs.cn
Accept: application/json
Content-Type: application/json
Authorization : 15IUYRRTY876OIU4D
{
"localfile" : "C:/myfolder/myfile.txt"
}
响应消息:
HTTP/1 . 1 200 OK
Date : Sun , 6 Feb 2011 18 : 10 : 00 GMT
Content-Type: application/json
Content-Length: 58
Server: example.distfs.cn
{
"folderpath","/MyAccount/temp/myfolder" ,
"ctime" : "2006-11-18T06 : 12 : 00 "
}
7 . 5 下载文件
7 . 5 . 1 功能描述
下载文件的操作参数为:DownloadFile,用于将文件从分布式文件存储下载到本地。
7 . 5 . 2 请求定义
GET /〈Account〉/〈Path〉?op=downloadfile HTTP/1.1
Host : [ HostName]
Accept: application/j son
Content-Type: application/j son
Range: bytes=〈start〉-〈end〉
Authorization:[signaturevalue]
{
GB/T 31916 . 3—2018
"localpath" : "xxxxxx" ,
"aliasname " : " xxxxxx" ,
}
7 . 5 . 3 请求 URL
http://example.distfs.cn/〈Account〉/〈Path〉/
其中:〈Account〉表示账户 ID,〈Path〉表示欲下载的文件的位置。
7 . 5 . 4 请求消息头
Range 头为可选,其中的〈start〉表示传输文件的起始字节,〈end〉表示传输文件的结束字节,均以整
数表示。 其余按公共请求头定义。
7 . 5 . 5 请求消息参数无 。
7 . 5 . 6 请求消息体
请求消息体中各参数描述见表 12 。
表 12 请求消息体
7 . 5 . 7 响应状态码
响应状态码及其描述见表 13 。
表 13 响应状态码
GB/T 31916 . 3—2018
7 . 5 . 8 响应定义
HTTP/1 . 1 200 OK
Date : date
Content-Type: application/octet-stream
Content-Length: length
Content-Range: bytes〈start〉-〈end〉/〈total〉
Server : server
〈bytes of file data〉
7 . 5 . 9 响应消息头
Content-Range 头为可选,其中〈start〉表示传输文件的起始字节,〈end〉表示传输文件的结束字节, 〈total〉表示文件总大小(单位为字节),均以整数表示。其余按公共响应头定义。
7 . 5 . 10 响应消息体 下载文件的内容。
7 . 5 . 1 1 请求和响应示例
请求消息和响应消息见示例。
示例:
请求消息:
GET /MyAccount/temp/audio? op= downloadfile HTTP/1.1
Host: example.distfs.cn
Accept: application/json
Content-Type: application/json
Range: bytes=0-100
Authorization : 15IUYRRTY876OIU4D
{
"localpath" : "C:/myfolder" ,
"aliasname" : "myfile.txt" ,
}
响应消息:
HTTP/1 . 1 206 Partial Content
Date : Sun , 6 Feb 2011 18 : 10 : 00 GMT
Content-Type: application/octet-stream
Content-Length: 100
Content-Range: bytes 0-100/1231
Server: example.distfs.cn
〈bytes of file data〉
7 . 6 追加写文件
7 . 6 . 1 功能描述
追加写文件的操作参数为:AppendFile,用于在分布式文件存储中追加写文件。
GB/T 31916 . 3—2018
7 . 6 . 2 请求定义
PUT /〈Account〉/〈Path〉?op=appendfile&name=xxx[buffersize=〈int〉]HTTP/1.1
Host : [ HostName]
Accept: application/j son
Content-Type: application/octet-stream
Authorization:[signaturevalue]
〈bytes of data〉
7 . 6 . 3 请求 URL
http://example.distfs.cn/〈Account〉/〈Path〉/
其中:〈Account〉表示账户 ID,〈Path〉表示文件的位置。
7 . 6 . 4 请求消息头
按公共请求头定义。
7 . 6 . 5 请求消息参数
请求消息参数见表 14 。
表 14 请求消息参数
7 . 6 . 6 请求消息体追加写的数据。
7 . 6 . 7 响应状态码
响应状态码及其描述见表 15 。
表 15 响应状态码
GB/T 31916 . 3—2018
7 . 6 . 8 响应定义
HTTP/1 . 1 200 OK
Date : date
Content-Type: application/j son
Content-Length: length
Server : server
{
"ctime" : " xxxxxxxx"
}
7 . 6 . 9 响应消息头
按公共响应头定义。
7 . 6 . 10 响应消息体
响应消息体中各参数描述见表 16 。
表 16 响应消息体
7 . 6 . 1 1 请求和响应示例
请求消息和响应消息见示例。
示例:
请求消息:
PUT /MyAccount/temp? op= appendfile&name=temp1.txt&buffersize=4096 HTTP/1.1 Host: example.distfs.cn
Accept: application/json
Content-Type: application/octet-stream
Authorization : 15IUYRRTY876OIU4D
〈bytes of data〉
响应消息:
HTTP/1 . 1 200 OK
Date : Sun , 6 Feb 2011 18 : 10 : 00 GMT
Content-Type: application/json
Content-Length: 31
Server: example.distfs.cn
{
"ctime" : "2006-11-18T06 : 12 : 00 "
}
GB/T 31916 . 3—2018
7 . 7 复制文件
7 . 7 . 1 功能描述
复制文件的操作参数为:CopyFile,用于在分布式文件存储中复制文件。
7 . 7 . 2 请求定义
PUT /〈Account〉/〈Path〉?op=copyfile[&overwrite=0|1|2] HTTP/1.1
Host : [ HostName]
Accept: application/j son
Content-Type: application/j son
Authorization:[signaturevalue]
{
"destpath" : "xxxxxx" ,
"aliasname" : " xxxxxx"
}
7 . 7 . 3 请求 URL
http://example.distfs.cn/〈Account〉/〈Path〉/
其中:〈Account〉表示账户 ID,〈Path〉表示欲复制的文件的位置。
7 . 7 . 4 请求消息头
按公共请求头定义。
7 . 7 . 5 请求消息参数
请求消息参数见表 17 。
表 17 请求消息参数
7 . 7 . 6 请求消息体
请求消息体中各参数描述见表 18 。
表 18 请求消息体
GB/T 31916 . 3—2018
7 . 7 . 7 响应状态码
响应状态码及其描述见表 19 。
表 19 响应状态码
7 . 7 . 8 响应定义
HTTP/1 . 1 200 OK
Date : date
Content-Type: application/j son
Content-Length: length
Server : server
{
"ctime" : " xxxxxxx"
}
7 . 7 . 9 响应消息头
按公共响应头定义。
7 . 7 . 10 响应消息体
响应消息体中各参数描述见表 20 。
表 20 响应消息体
7 . 7 . 1 1 请求和响应示例
请求消息和响应消息见示例。
示例:
请求消息:
PUT /MyAccount/temp/audio? op=copyfile&overwrite= 2 HTTP/1.1
GB/T 31916 . 3—2018
Host: example.distfs.cn
Accept: application/json
Content-Type: application/json
Authorization : 15IUYRRTY876OIU4D
{
"destpath":"/MyAccount/temp/music"
}
响应消息:
HTTP/1 . 1 200 OK
Date : Sun , 6 Feb 2011 18 : 10 : 00 GMT
Content-Type: application/json
Content-Length: 24
Server: example.distfs.cn
{
"ctime" : "2006-11-18T06 : 12 : 00 "
}
7 . 8 重命名文件
7 . 8 . 1 功能描述
重命名文件的操作参数为:RenameFile,用于在分布式文件存储中重命名文件。
7 . 8 . 2 请求定义
PUT /〈Account〉/〈Path〉?op=renamefile[&overwrite=0|1|2] HTTP/1.1
Host : [ HostName]
Accept: application/j son
Content-Type: application/j son
Authorization:[signaturevalue]
{ " name" : "xxxxxx" }
7 . 8 . 3 请求 URL
http://example.distfs.cn/〈Account〉/〈Path〉/
其中:〈Account〉表示账户 ID,〈Path〉表示欲重命名的文件的路径。
7 . 8 . 4 请求消息头
按公共请求头定义。
7 . 8 . 5 请求消息参数
请求消息参数见表 21 。
表 2 1 请求消息参数
GB/T 31916 . 3—2018
7 . 8 . 6 请求消息体
请求消息体中各参数描述见表 22 。
表 22 请求消息体
7 . 8 . 7 响应状态码
响应状态码及其描述见表 23 。
表 23 响应状态码
7 . 8 . 8 响应定义
HTTP/1 . 1 200 OK
Date : date
Content-Type: application/j son
Server : server
7 . 8 . 9 响应消息头
按公共响应头定义。
7 . 8 . 10 响应消息体无 。
7 . 8 . 1 1 请求和响应示例
请求消息和响应消息见示例。
示例:
请求消息:
PUT /MyAccount/temp/doc.txt? op= renamefile&overwrite= 2 HTTP/1.1 Host: example.distfs.cn
Accept: application/json
GB/T 31916 . 3—2018
Content-Type: application/json
Authorization : 15IUYRRTY876OIU4D
{
" name " : "doc1 .txt"
}
响应消息:
HTTP/1 . 1 200 OK
Date : Sun , 6 Feb 2011 18 : 10 : 00 GMT
Content-Type: application/json
Server: example.distfs.cn
7 . 9 查看文件状态
7 . 9 . 1 功能描述
查看文件状态的操作参数为:FileStatus,用于在分布式文件存储中查看文件状态。
7 . 9 . 2 请求定义
GET /〈Account〉/〈Path〉?op=filestatus HTTP/1.1
Host : [ HostName]
Accept: application/j son
Content-Type: application/j son
Authorization:[signaturevalue]
7 . 9 . 3 请求 URL
http://example.distfs.cn/〈Account〉/〈Path〉/
其中:〈Account〉表示账户 ID,〈Path〉表示文件的路径。
7 . 9 . 4 请求消息头
按公共请求头定义。
7 . 9 . 5 请求消息参数无 。
7 . 9 . 6 请求消息体无 。
7 . 9 . 7 响应状态码
响应状态码及其描述见表 24 。
表 24 响应状态码
GB/T 31916 . 3—2018
表 24(续)
7 . 9 . 8 响应定义
HTTP/1 . 1 200 OK
Date : date
Content-Type: application/j son
Content-Length: length
Server : server
{
"accesstime " : int ,
"blocksize " : int ,
" owner" : " xxxxx" ,
"permision" : "xxx" ,
"replication" : int,
"ctime" : " xxxxxxxx" ,
"trashtime " : " xxx"
}
7 . 9 . 9 响应消息头
按公共响应头定义。
7 . 9 . 10 响应消息体
响应消息体中各参数描述见表 25 。
表 25 响应消息体
GB/T 31916 . 3—2018
7 . 9 . 1 1 请求和响应示例
请求消息和响应消息见示例。
示例:
请求消息:
GET /MyAccount/temp/doc.txt? op= filestatus HTTP/1.1
Host: example.distfs.cn
Accept: application/json
Content-Type: application/json
Authorization : 15IUYRRTY876OIU4D
响应消息:
HTTP/1 . 1 200 OK
Date : Sun , 6 Feb 2011 18 : 10 : 00 GMT
Content-Type: application/json
Content-Length: 98
Server: example.distfs.cn
{
"accesstime " : 143 ,
"blocksize " : 64 ,
"owner" : "MyAccount" ,
"permision" : "rw" ,
"replication" : 3 ,
"ctime" : "2006-11-18T06 : 12 : 00 " ,
"trashtime " : "1d "
}
7 . 10 修改文件属性
7 . 10 . 1 功能描述
修改文件属性的操作参数为:ModifyFileAttribute,用于在分布式文件存储中修改文件属性。
7 . 10 . 2 请求定义
PUT /〈Account〉/〈Path〉?op=modifyfileattribute HTTP/1.1
Host : [ HostName]
Accept: application/j son
Content-Type: application/j son
Authorization:[signaturevalue]
{
"permission" : "xxx" ,
"replication" : int,
"trashtime " : " xxx"
}
7 . 10 . 3 请求 URL
http://example.distfs.cn/〈Account〉/〈Path〉/
GB/T 31916 . 3—2018
其中:〈Account〉表示账户 ID,〈Path〉表示欲修改的文件的路径。
7 . 10 . 4 请求消息头
按公共请求头定义。
7 . 10 . 5 请求消息参数无 。
7 . 10 . 6 请求消息体
请求消息体中各参数描述见表 26 。
表 26 请求消息体
7 . 10 . 7 响应状态码
响应状态码及其描述见表 27 。
表 27 响应状态码
7 . 10 . 8 响应定义
HTTP/1 . 1 200 OK
Date : date
Content-Type: application/j son
GB/T 31916 . 3—2018
Server : server
7 . 10 . 9 响应消息头
按公共响应头定义。
7 . 10 . 10 响应消息体无 。
7 . 10 . 1 1 请求和响应示例
请求消息和响应消息见示例。
示例:
请求消息:
PUT /MyAccount/temp/doc.txt? op= modifyfileattribute HTTP/1.1
Host: example.distfs.cn
Accept: application/json
Content-Type: application/json
Authorization : 15IUYRRTY876OIU4D
{
"permission" : "r" ,
"replication" : 4 ,
"trashtime " : "7d "
}
响应消息:
HTTP/1 . 1 200 OK
Date : Sun , 6 Feb 2011 18 : 10 : 00 GMT
Content-Type: application/json
Server: example.distfs.cn
7 . 1 1 文件搜索
7 . 1 1 . 1 功能描述
文件搜索的操作参数为:FileSearch,用于在分布式文件存储中搜索文件。
7 . 1 1 . 2 请求定义
GET /〈Account〉/〈Path〉?op=filesearch[&exactmatch=true/false] HTTP/1.1
Host : [ HostName]
Accept: application/j son
Content-Type: application/j son
Authorization:[signaturevalue]
{
"keyword" : "xxxxxx"
}
7 . 1 1 . 3 请求 URL
http://example.distfs.cn/〈Account〉/〈Path〉/
GB/T 31916 . 3—2018
其中:〈Account〉表示账户 ID,〈Path〉表示搜索位置。
7 . 1 1 . 4 请求消息头
按公共请求头定义。
7 . 1 1 . 5 请求消息参数
请求消息参数见表 28 。
表 28 请求消息参数
7 . 1 1 . 6 请求消息体
请求消息体中各参数描述见表 29 。
表 29 请求消息体
7 . 1 1 . 7 响应状态码
响应状态码及其描述见表 30 。
表 30 响应状态码
7 . 1 1 . 8 响应定义
HTTP/1 . 1 200 OK
Date : date
Content-Type: application/j son
Content-Length: length
Server : server
{
GB/T 31916 . 3—2018
"file1 " : " xxxxxx" ,
"file2 " : " xxxx " ,
. . . }
7 . 1 1 . 9 响应消息头
按公共响应头定义。
7 . 1 1 . 10 响应消息体
响应消息体中各参数描述见表 31 。
表 3 1 响应消息体
7 . 1 1 . 1 1 请求和响应示例
请求消息和响应消息见示例。
示例:
请求消息:
GET /MyAccount/temp? op= filesearch HTTP/1.1
Host: example.distfs.cn
Accept: application/json
Content-Type: application/json
Authorization : 15IUYRRTY876OIU4D
{
"keyword" : "my"
}
响应消息:
HTTP/1 . 1 200 OK
Date : Sun , 6 Feb 2011 18 : 10 : 00 GMT
Content-Type: application/json
Content-Length: 68
Server: example.distfs.cn
{
"file1":"/MyAccount/temp/mydoc.txt" ,
"file2" : "/MyAccount/temp/mypicture.jpg"
}
7 . 12 读文件
7 . 12 . 1 功能描述
读文件的操作参数为:FileRead,用于在分布式文件存储中读文件。
7 . 12 . 2 请求定义
GET /〈Account〉/〈Path〉?op=fileread[&offset=long][&length=long] HTTP/1.1
GB/T 31916 . 3—2018
Host : [ HostName]
Accept: text/plain
Content-Type: application/j son
Authorization:[signaturevalue]
7 . 12 . 3 请求 URL
http://example.distfs.cn/〈Account〉/〈Path〉/
其中:〈Account〉表示账户 ID,〈Path〉表示文件路径。
7 . 12 . 4 请求消息头
按公共请求头定义。
7 . 12 . 5 请求消息参数
请求消息参数见表 32 。
表 32 请求消息参数
7 . 12 . 6 请求消息体无 。
7 . 12 . 7 响应状态码
响应状态码及其描述见表 33 。
表 33 响应状态码
下一篇: GB/T 31916.2-2015 信息技术 云数据存储和管理 第2部分:基于对象的云存储应用接口
上一篇: GB/T 31916.5-2015 信息技术 云数据存储和管理 第5部分:基于键值(Key-Value)的云数据管理应用接

