TFS(淘宝文件系统) 基于 Nginx 的 RestFul API 总结
来源:互联网 发布:用js写一个倒计时程序 编辑:程序博客网 时间:2024/05/16 12:16
转载自:http://blog.csdn.net/hahajiansheng/article/details/8658780
刚试用了下淘宝自己开发的文件系统TFS,感觉基于nginx做的RESTful API用起来还是挺方便的,下面对这些API简单总结下,也说下我的一些经验:
特别是那些觉得搭PHP环境的很麻烦的朋友不访参考下我的方案二。nginx_ip为nginx客户端的ip,port为nginx web服务接口。
一.得用restful api(详细可以参考淘宝的github)
1.上传文件:
--------------------------------------------------------------
使用方法 : post
使用URL : http:nginx_ip:port/v1/tfs/1.1
data : 文件(此文件为sring或者数据流(buffer))
--------------------------------------------------------------
同理,此时会返回一个TFS所分配的文件名,为json格式,形式如下:
{
"TFS_FILE_NAME": "T1F6ETBj_T1RCvBVdK"
}
2.得到数据:
--------------------------------------------------------------
使用方法 : get
使用URL : http:nginx_ip:port/v1/tfs/1.1/TFS文件名
--------------------------------------------------------------
如:http:192.168.1.74:80/v1/tfs/1.1/T1F6ETBj_T1RCvBVdK
3.删除数据:
--------------------------------------------------------------
使用方法 : delete
使用URL : http:nginx_ip:port/v1/tfs/1.1/TFS文件名
--------------------------------------------------------------
4.更新数据:
--------------------------------------------------------------
使用方法 : put
使用URL : http:nginx_ip:port/v1/tfs/1.1/TFS文件名
data : 文件(此文件为sring或者数据流(buffer))
--------------------------------------------------------------
同理,此时会返回一个TFS所分配的文件名,为json格式,形式如下:
{
"TFS_FILE_NAME": "T1F6ETBj_T1RCvBVdK"
}
此时返回的依然是当前文件名,这是这个文件名的内容变成了另外一个文件
火狐有测试RESful API的插件,大家可以去试用一下
二.对那些觉得搭java,php等调用客户端觉得难的朋友不防可以试下这这个方案,大家应该都知道linux命令curl
1.上传命令为 curl --data-binary @/文件目录名/文件名(当前文件目录下就直接写文件名) ngx_host:port/v1/tfs
此时会返回一个TFS所分配的文件名,为json格式,形式如下:
{
"TFS_FILE_NAME": "T1F6ETBj_T1RCvBVdK"
}
显然返回的是TFS给我们所上传文件的TFS的独有文件名
2.下载命令为 curl ngx_host:port/v1/tfs/T1F6ETBj_T1RCvBVdK -o /文件目录/文件名(当前文件目录下直接写文件名)
T1F6ETBj_T1RCvBVdK为上传文件时TFS所给我们返回的独有文件名
3.删除命令是 curl -X "DELETE" ngx_host:port/v1/tfs/T1F6ETBj_T1RCvBVdK
4.更改命令是 curl --data-binary @/文件目录名/文件名(当前文件目录下就直接写文件名) -X "PUT" ngx_host:port/v1/tfs/T1F6ETBj_T1RCvBVdK
{
"TFS_FILE_NAME": "T1F6ETBj_T1RCvBVdK"
}
此时返回的依然是当前文件名,这是这个文件名的内容变成了另外一个文件
# 注意:PHP有curl这个模拟库,相信结合着这个API用起来应该不难1.上传命令为 curl --data-binary @/文件目录名/文件名(当前文件目录下就直接写文件名) ngx_host:port/v1/tfs
此时会返回一个TFS所分配的文件名,为json格式,形式如下:
{
"TFS_FILE_NAME": "T1F6ETBj_T1RCvBVdK"
}
显然返回的是TFS给我们所上传文件的TFS的独有文件名
2.下载命令为 curl ngx_host:port/v1/tfs/T1F6ETBj_T1RCvBVdK -o /文件目录/文件名(当前文件目录下直接写文件名)
T1F6ETBj_T1RCvBVdK为上传文件时TFS所给我们返回的独有文件名
3.删除命令是 curl -X "DELETE" ngx_host:port/v1/tfs/T1F6ETBj_T1RCvBVdK
4.更改命令是 curl --data-binary @/文件目录名/文件名(当前文件目录下就直接写文件名) -X "PUT" ngx_host:port/v1/tfs/T1F6ETBj_T1RCvBVdK
{
"TFS_FILE_NAME": "T1F6ETBj_T1RCvBVdK"
}
此时返回的依然是当前文件名,这是这个文件名的内容变成了另外一个文件
我相信很多语言都有直接调用linux命令的类库,这样的话就不用在TFS服务器上搭各个语言的客户端,我们只需要在web服务器上连接上Ngnix服务器然后调用nginx的接口就可以代替各个语言的客户端了。
0 0
- TFS(淘宝文件系统) 基于 Nginx 的 RestFul API 总结
- TFS(taobao file system淘宝文件系统)RestFul API 试用总结
- 在CentOS7下安装TFS及Nginx-TFS(分布式文件系统TFS、Nginx-TFS模块、TFS RESTful API)
- TFS--淘宝文件系统Nginx模块安装篇
- 淘宝的开源分布式文件系统TFS
- tfs--淘宝文件系统扩容
- TFS淘宝文件系统原理
- 淘宝分布式文件系统TFS
- 《淘宝技术这十年》淘宝文件系统-tfs的产生
- 淘宝分布式文件系统TFS设计
- 淘宝文件系统-TFS解析链接
- 淘宝分布式文件系统TFS设计
- 淘宝分布式文件系统TFS设计
- 淘宝分布式文件系统TFS设计
- 深度揭秘淘宝自主研发的文件系统——TFS
- 揭秘淘宝自主研发的文件系统——TFS
- 淘宝 TFS restful 接口访问方式
- 基于swagger的RESTful API
- 自定义窗口标题
- 版本管理之初接触
- 程序员技术练级攻略
- JS 子窗口与父窗口间的数据传递
- 数据结构与算法分析Java版练习2.8
- TFS(淘宝文件系统) 基于 Nginx 的 RestFul API 总结
- 一次PHY驱动的调试有感
- Hibernate如何映射枚举类型
- 【连续】子数组之和最大并得到子数组的下标边界
- 简述PCA主成分分析
- (转载)Building Apps with Over 65K Methods -- 你可能会遇到的Class Not Found问题
- VMWare使用host-only网络连接总结
- Android 5.0 之SwipeRefreshLayout
- handler 刷新界面,线程传值