[openstack swift]3 其他相关(2)

转载 2011年08月10日 00:04:12

注:swift1.1版使用swift-auth-add-user生成用户,swift1.3之后用户信息全部记录在proxy-server.conf 的[filter:tempauth]过滤器里,差别并不明显。文章完成时的安装环境为swift1.1,swift版本稳定之后会补充说明因版本差异而造成的变动!

3.2swift应该如何使用

OpenStack Object Storage Developer Guide 列举了通用API,这里只是对常用的操作做简单举例

约定:

  1. account: test  
  2. user:tester  
  3. password: testing  

用户的生成参照1.1节swift安装教程。

(注:st是swifttool 的缩写,swift1.3之后st更名为swift,因此实践时请注意版本差异!)

3.2.1 使用st

任何安装了st的机器都可以使用,并不限于storage node 或者 proxy-auth node

查询用户状态

  1. swift@node31:~$ st -v -A https://192.168.1.31:11000/v1.0 -U test:tester -K testing stat  
  2. StorageURL: https://192.168.1.31:8080/v1/AUTH_d6084598cca04ee6a0951dbdd89612c6  
  3. Auth Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead  
  4.    Account: AUTH_d6084598cca04ee6a0951dbdd89612c6  
  5. Containers: 2  
  6.    Objects: 8  
  7.      Bytes: 15177385  

列表用户的container和object

  1. swift@node31:~$ st -A https://192.168.1.31:11000/v1.0 -U test:tester -K testing list  
  2. images  
  3. mp3  
  4. swift@node31:~$ st -v -A https://192.168.1.31:11000/v1.0 -U test:tester -K testing list images  
  5. 1Mb.file  
  6. test.jpg  
  7. test1.jpg  

上传object

  1. swift@node31:~$ st -v -A https://192.168.1.31:11000/v1.0 -U test:tester -K testing upload images 1Mb.file  

下载object

  1. swift@node31:~$ st -v -A https://192.168.1.31:11000/v1.0 -U test:tester -K testing download images 1Mb.file  
  2. 1Mb.file  

3.2.2使用curl

curl用来自定义网络报文,因此可以和提供Restful API的swift进行交互。从curl的格式来看,大概能窥测到使用语言封装object请求的方法。:)


查询用户状态

  1. zzfancy@129:~$ curl -k -D - -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' https://192.168.1.31:11000/v1.0  
  2. HTTP/1.1 204 No Content  
  3. X-Storage-Url: https://192.168.1.31:8080/v1/AUTH_d6084598cca04ee6a0951dbdd89612c6  
  4. X-Storage-Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead  
  5. X-Auth-Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead  
  6. Content-Length: 0  
  7. Date: Tue, 02 Aug 2011 08:43:10 GMT  

查看空间使用情况

  1. zzfancy@129:~$ curl -k -X HEAD -D -  -H 'X-Auth-Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead' https://192.168.1.31:8080/v1/AUTH_d6084598cca04ee6a0951dbdd89612c6  
  2. HTTP/1.1 204 No Content  
  3. X-Account-Object-Count: 8  
  4. X-Account-Bytes-Used: 15177385  
  5. X-Account-Container-Count: 2  
  6. Content-Length: 0  
  7. Date: Tue, 02 Aug 2011 08:47:02 GMT  

列表用户的container和object,可加参数(本例中参数为format-xml,详情请查询API)

  1. zzfancy@129:~$ curl -k -X GET -H 'X-Auth-Token: AUTH_tkefdc936d7e94493982d78f3dd6c16ead' https://192.168.1.31:8080/v1.0/AUTH_d6084598cca04ee6a0951dbdd89612c6/images  
  2. 1Mb.file  
  3. test.jpg  
  4. test1.jpg  
  5.   
  6. 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  
  7. <?xml version="1.0" encoding="UTF-8"?>  
  8. <container name="images">  
  9. <object>  
  10. <name>1Mb.file</name>  
  11. <hash>b6d81b360a5672d80c27430f39153e2c</hash>  
  12. <bytes>1048576</bytes>  
  13. <content_type>application/octet-stream</content_type>  
  14. <last_modified>2011-06-20T07:57:34.523220</last_modified>  
  15. </object>  
  16. <object>  
  17. <name>test.jpg</name>  
  18. <hash>a9d7d0f2d01bf737027256b8e7e9bf6a</hash>  
  19. <bytes>87345</bytes>  
  20. <content_type>image/jpeg</content_type>  
  21. <last_modified>2011-06-17T03:32:21.838280</last_modified>  
  22. </object>  
  23. <object><name>test1.jpg</name>  
  24. <hash>a9d7d0f2d01bf737027256b8e7e9bf6a</hash>  
  25. <bytes>87345</bytes>  
  26. <content_type>image/jpeg</content_type>  
  27. <last_modified>2011-06-19T16:07:39.431260</last_modified>  
  28. </object>  
  29. </container>  

创建container并上传object

  1. 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  
  2. <html>  
  3.  <head>  
  4.   <title>201 Created</title>  
  5.  </head>  
  6.  <body>  
  7.   <h1>201 Created</h1>  
  8.   <br /><br />  
  9.  </body>  
  10. </html>  

下载object

  1. 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

“路径”选项选填,默认为空


[openstack swift]3 其他相关

******************转载请注明出处!********** 最后更新:2011年8月1日20:22:35 3.1CAP原则和swift的联系     这个idiot的小...
  • zzcase
  • zzcase
  • 2011年08月01日 20:23
  • 4098

[openstack swift]3 其他相关(2)

******************转载请注明出处!********** 最后更新:2011年8月2日17:55:11 注:swift1.1版使用swift-auth-add-...
  • zzcase
  • zzcase
  • 2011年08月02日 17:53
  • 6059

openstack swift ring文件解析

一直以为对swift的ring文件充满好奇,这段时间重新研究swift,正好借此机会好好研究下。 ring文件时一个Gzip的压缩文件,可以通过相关python库直接读取这个文件,代码如下: ...
  • wytdahu
  • wytdahu
  • 2015年05月12日 17:16
  • 934

OpenStack之Swift:环(Ring)工具解析

Builder工具为ring管理工具,今天主要解析其常用的几个操作(以account为例): swift-ring-builderaccount.builder create 18 3 1 swi...
  • liuhong1123
  • liuhong1123
  • 2012年10月28日 16:34
  • 2707

OpenStack对象存储:Swift架构详解

OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一,被称为对象存储,提供了强大的扩展性、冗余和持久性。本文将从架构、原理和实践等几方面讲述Sw...
  • duxingxia356
  • duxingxia356
  • 2014年11月21日 12:20
  • 724

OpenStack Swift学习笔记

OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一。Swift的目的是使用普通硬件来构建冗余的、可扩展的分布式对象存储集群,存储容量可达PB级...
  • i_chips
  • i_chips
  • 2014年01月03日 11:59
  • 7524

OpenStack_Swift源码分析——Ring基本原理及一致性Hash算法

1、Ring的基本概念 Ring是swfit中最重要的组件,用于记录存储对象与物理位置之间的映射关系,当用户需要对Account、Container、Object操作时,就需要查询对应的Ring文件(...
  • xianghonglee
  • xianghonglee
  • 2014年05月13日 18:58
  • 2819

OpenStack Swift 云存储技术详解

Swift云存储技术详解:综述与概念   OpenStack Object Storage (Swift) 是用来创建冗余的、可扩展的对象存储(引擎)的开源软件。通过阅读Swift的技术文档,我...
  • duxingxia356
  • duxingxia356
  • 2014年12月31日 20:43
  • 750

Openstack swift安装部署

块存储&文件存储&对象存储
  • qiuhan0314
  • qiuhan0314
  • 2014年09月12日 16:10
  • 1244

openstack_swift源码分析——Swift单机部署

openstack swift 部署详细介绍
  • xianghonglee
  • xianghonglee
  • 2014年05月04日 15:25
  • 1832
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[openstack swift]3 其他相关(2)
举报原因:
原因补充:

(最多只允许输入30个字)