Admin API 的相关介绍见官网:http://docs.ceph.com/docs/master/radosgw/admin/
github上有一个使用Python写的按照官网API请求格式封装了HTTP请求的库,我们可以直接调用该Python库提供的接口,就可以完成Admin API的相关操作:https://github.com/UMIACS/rgwadmin
example:
API Example Usage
from
rgwadmin
import
RGWAdmin
rgw
=
RGWAdmin(access_key
=
'XXX'
, secret_key
=
'XXX'
, server
=
'obj.example.com'
)
rgw.create_user(
uid
=
'liam'
,
display_name
=
'Liam Monahan'
,
user_caps
=
'usage=read, write; users=read'
,
max_buckets
=
1000
)
rgw.set_quota(
uid
=
'liam'
,
quota_type
=
'user'
,
max_size_kb
=
1024
*
1024
,
enabled
=
True
)
rgw.remove_user(uid
=
'liam'
, purge_data
=
True
)
|
首先自己要创建S3用户,同时该用户要有添加,删除用户的权限(caps),否则会提示access deny。
同时RGWAdmin类内部默认的https的请求方式,修改下rgw.py的__init__函数就可以了。