您的位置:首页 > 移动开发 > Swift

openstack swift构建公有云

2013-12-06 00:00 323 查看
在swift里要访问一个object需要先通过认证系统认证,比如通过keystone获得一个token再用这个token才能去访问资源。如果要构建公有云就得允许匿名访问资源。在swift里通过设置container ACLs是可以实现这点的

比如要把tenantID为74d6e267b9c14d93b0c04760944f3b66的工程里的test容器里的资源设置为允许匿名可读,那么先通过原先的方法获取到一个token和publicURL,然后再PUT一个X-Container-Read: .r:*,.rlistings就可以了

curl –X PUT -i \

-H "X-Auth-Token: fc81aaa6-98a1-9ab0-94ba-aba9a89aa9ae" \

-H "X-Container-Read: .r:*,.rlistings" \
https://publicURL/v1/74d6e267b9c14d93b0c04760944f3b66/test
现在就可以直接这样下载test器的东西

curl -X GET -i https://publicURL/v1/74d6e267b9c14d93b0c04760944f3b66/test/somethine
也可以设置可写权限等,同时使用swift-client来设置也是可以的

参考:

http://docs.openstack.org/api/openstack-object-storage/1.0/content/special-metadata-acls.html

http://blog.fsquat.net/?p=40
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: