我很惊讶在文档中没有找到关于非常简单的问题的答案:我如何才能在我的Riak安装中获得所有桶和所有文件的列表?另外,我还需要使用一些“根”帐户访问所有桶中的所有文件--我怎么能这样做呢?
无论如何,根据文档:http://docs.basho.com/riakcs/latest/cookbooks/Account-Management/用户列表请求的样例URL如下所示:
GET http://data.example.com/riak-cs/users -
or
s3curl --id admin -- http://data.mystorage.me/riak-cs/users因此,我编辑了.s3crul:
%awsSecretAccessKeys = (
adminname => {
id => 'key here',
key => 'secret here',
},
);并将s3curl直接指向riak cs:
s3curl.pl --id adminname -- http://192.168.0.20:8080/riak-cs/users得到答案:
<?xml version="1.0" encoding="UTF-8"?><Error><Code>AccessDenied</Code><Message>Access Denied</Message><Resource>/riak-cs/users</Resource><RequestId></RequestId></Error>我确信"adminname“是Riak CS中的Admin帐户,我可以在riac-cs控制面板中看到它。
发布于 2015-08-08 13:27:13
我觉得您使用的是自定义主机库,所以您需要做的就是将它告诉s3curl.pl。如您所知,因为S3 (或AWS v2)身份验证可以是路径样式或子域样式,所以s3curl.pl不能按原样使用URL的主机部分或主机头。因此,它有一些硬编码端点1用于识别主机基。
s3curl.pl的一些分支可以通过选项参数2指定自定义端点。如果将cs_root_host设置为data.mystorage.me,则示例命令行如下所示:
s3curl --id admin --endpoint data.mystorage.me \
-- http://data.mystorage.me/riak-cs/users或者用子域的方式,
s3curl --id admin --endpoint data.mystorage.me \
-- http://riak-cs.data.mystorage.me/users一旦您获得所有用户信息,您就可以做任何事情,例如为特定用户列出桶或列出特定桶中的所有对象。
发布于 2015-08-03 22:07:55
对于清单部分,请尝试s3cmd la -r s3://
我不认为在默认情况下有访问所有东西的帐户,您必须将帐户添加到每个桶的ACL中
https://stackoverflow.com/questions/31792800
复制相似问题