[openstack swift]3 其他相关(2)
2011-08-02 17:53
465 查看
******************转载请注明出处!**********
最后更新:2011年8月2日17:55:11注:swift1.1版使用swift-auth-add-user生成用户,swift1.3之后用户信息全部记录在proxy-server.conf 的[filter:tempauth]过滤器里,差别并不明显。文章完成时的安装环境为swift1.1,swift版本稳定之后会补充说明因版本差异而造成的变动!
3.2swift应该如何使用
OpenStack Object Storage Developer Guide 列举了通用API,这里只是对常用的操作做简单举例约定:
account: test user:tester password: testing
用户的生成参照1.1节swift安装教程。
(注:st是swifttool 的缩写,swift1.3之后st更名为swift,因此实践时请注意版本差异!)
3.2.1 使用st
任何安装了st的机器都可以使用,并不限于storage node 或者 proxy-auth node查询用户状态
swift@node31:~$ st -v -A https://192.168.1.31:11000/v1.0 -U test:tester -K testing stat StorageURL: https://192.168.1.31:8080/v1/AUTH_d6084598cca04ee6a0951dbdd89612c6 Auth Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead Account: AUTH_d6084598cca04ee6a0951dbdd89612c6 Containers: 2 Objects: 8 Bytes: 15177385
列表用户的container和object
swift@node31:~$ st -A https://192.168.1.31:11000/v1.0 -U test:tester -K testing list images mp3 swift@node31:~$ st -v -A https://192.168.1.31:11000/v1.0 -U test:tester -K testing list images 1Mb.file test.jpg test1.jpg
上传object
swift@node31:~$ st -v -A https://192.168.1.31:11000/v1.0 -U test:tester -K testing upload images 1Mb.file
下载object
swift@node31:~$ st -v -A https://192.168.1.31:11000/v1.0 -U test:tester -K testing download images 1Mb.file 1Mb.file
3.2.2使用curl
curl用来自定义网络报文,因此可以和提供Restful API的swift进行交互。从curl的格式来看,大概能窥测到使用语言封装object请求的方法。:)查询用户状态
zzfancy@129:~$ curl -k -D - -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' https://192.168.1.31:11000/v1.0 HTTP/1.1 204 No Content X-Storage-Url: https://192.168.1.31:8080/v1/AUTH_d6084598cca04ee6a0951dbdd89612c6 X-Storage-Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead X-Auth-Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead Content-Length: 0 Date: Tue, 02 Aug 2011 08:43:10 GMT
查看空间使用情况
zzfancy@129:~$ curl -k -X HEAD -D - -H 'X-Auth-Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead' https://192.168.1.31:8080/v1/AUTH_d6084598cca04ee6a0951dbdd89612c6 HTTP/1.1 204 No Content X-Account-Object-Count: 8 X-Account-Bytes-Used: 15177385 X-Account-Container-Count: 2 Content-Length: 0 Date: Tue, 02 Aug 2011 08:47:02 GMT
列表用户的container和object,可加参数(本例中参数为format-xml,详情请查询API)
zzfancy@129:~$ curl -k -X GET -H 'X-Auth-Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead' https://192.168.1.31:8080/v1.0/AUTH_d6084598cca04ee6a0951dbdd89612c6/images 1Mb.file test.jpg test1.jpg zzfancy@129:~$ curl -k -X GET -H 'X-Auth-Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead' https://192.168.1.31:8080/v1.0/AUTH_d6084598cca04ee6a0951dbdd89612c6/images?format=xml <?xml version="1.0" encoding="UTF-8"?> <container name="images"> <object> <name>1Mb.file</name> <hash>b6d81b360a5672d80c27430f39153e2c</hash> <bytes>1048576</bytes> <content_type>application/octet-stream</content_type> <last_modified>2011-06-20T07:57:34.523220</last_modified> </object> <object> <name>test.jpg</name> <hash>a9d7d0f2d01bf737027256b8e7e9bf6a</hash> <bytes>87345</bytes> <content_type>image/jpeg</content_type> <last_modified>2011-06-17T03:32:21.838280</last_modified> </object> <object><name>test1.jpg</name> <hash>a9d7d0f2d01bf737027256b8e7e9bf6a</hash> <bytes>87345</bytes> <content_type>image/jpeg</content_type> <last_modified>2011-06-19T16:07:39.431260</last_modified> </object> </container>
创建container并上传object
zzfancy@129:~$ curl -k -X PUT -T ./2Mb.jpeg -H 'Content-Type: image/jpeg' -H 'X-Auth-Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead' https://192.168.1.31:8080/v1.0/AUTH_d6084598cca04ee6a0951dbdd89612c6/images/2Mb.jpeg <html> <head> <title>201 Created</title> </head> <body> <h1>201 Created</h1> <br /><br /> </body> </html>
下载object
zzfancy@129:~$ curl -s -k -X GET -H 'X-Auth-Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead' https://192.168.1.31:8080/v1/AUTH_d6084598cca04ee6a0951dbdd89612c6/images/2Mb.jpeg -O .
3.2.3cyberduck
cyberduck 支持的服务类型非常广泛,详见官网[1]。虽然swift1.3之后没有再引入对cyberduck的介绍,但并不影响其使用。笔者用的cyberduck版本为4.0.2(8601)。
填入服务器地址,端口,用户名和key
“路径”选项选填,默认为空
下图为笔者windows下的连接界面:
3.2.4其他
fog[2] 基于 Ruby的云服务提供库,提供CDN,Compute,DNS,|Storage等服务。可以方便的在不同服务商之间切换。其中支持rackspace及openstack的文件存储服务。gladinet[3] 提供云服务的图形化客户端,支持众多服务提供商,其中包括openstack storage。
Cloudfuse[4] FUSE应用程序,可以基于云存储服务提供POSIX接口。支持openstackstorage。
[1] http://cyberduck.ch/
[2] http://fog.io/0.9.0/index.html
[3] http://www.gladinet.com/
[4] https://github.com/redbo/cloudfuse/
相关文章推荐
- [openstack swift]3 其他相关(2)
- [openstack swift]3 其他相关
- c struct 以及与之相关的一些其他小问题
- httpclient for java 测试openstack swift
- OpenStack Swift 存储策略
- 在ubuntu上安装openstack的swift组件-installing openstack object storage
- OpenStack之Swift:swift表结构
- OpenStack对象存储——Swift
- 为Hadoop存储层增加对OpenStack Swift的支持
- 理解 OpenStack Swift (2):架构、原理及功能 [Architecture, Implementation and Features]
- 函数 Swift 使用函数多个返回值的特点完成一个count函数,该函数用于计算一个字符串中元音、辅音以及其他字母的个数。
- [openstack swift]install multi node
- openstack-kilo,glance使用swift 作为后端存储
- openstack 源码分析之swift proxy 服务启动 2
- [管理篇]VMWare搭建Openstack——Cinder的使用以及相关操作(2)
- 【神经网络】RELU 激活函数及其他相关的函数
- DOM冒泡事件及其他相关知识
- OpenStack之Swift:环(Ring)源码分析
- openstack swift ring文件解析