2015-08-03 5 views
0

Я был удивлен, если не нашел в документации ответ на очень простые вопросы: Как я могу получить список всех ведер и всех файлов в моей установке Riak CS? Также мне нужно иметь доступ ко всем этим файлам во всех ковших с некоторой «корневой» учетной записью - как я могу это сделать?Riak CS как получить список всех ведер и всех файлов

В любом случае в соответствии с документацией: 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, я могу видеть его в панели РИАЦ-CS-управления.

ответ

1

Я, кажется, что вы используете пользовательскую базу хоста, так что вам нужно сделать, чтобы рассказать об этом 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 

После того, как вы получите всю информацию о пользователях, вы можете сделать что-нибудь, например, листинг ведра для определенного пользователя или перечисление всех объектов в определенном ведре.

[1] https://github.com/ksauzz/s3curl/blob/master/s3curl.pl#L30-L34 [2] https://github.com/ksauzz/s3curl/blob/master/s3curl.pl#L121

+0

Проблема заключается в "Host" заголовка:
's3curl.pl --id админ --endpoint = my-data.example.com HTTP: //192.168.0.20: 8080/Riak-CS/users'
Запрос:
GET/riak-cs/users HTTP/1.1
User-Agent: curl/7.41.0
Хост: 192.168.0.20: 8080
Accept: */*
Дата: Вт, 11 Авг 2015 9:05:30 GMT
Авторизация: AWS : <строка аутентификации здесь>
Ответ:
HTTP/1.1 403 Запрещено Я до сих пор не могу заставить его работать через прокси, но это уже моя проблема, прямое подключение к Riak CS с надлежащим заголовком Host и собственно auth работает для меня. Спасибо! – Miriam

+0

Для доступа к прокси-серверу может использоваться опция «-x» завитка. 's3curl.pl --id admin - -x 192.168.0.20:8080 http: // my-data.example.com/riak-cs/users' – shino

0

Для перечисления части, попробуйте s3cmd la -r s3://

Я не думаю, что есть учетная запись, которая имеет доступ ко всему, по умолчанию, вы должны добавить учетную запись в ACL каждого ведра

+0

Спасибо за "ла -r"! Может быть, я могу как-то получить список всех пользовательских ключей и секретов? И я должен сделать это из сценария (не путем открытия веб-страницы riak-cs-control в браузере с использованием java-скрипта). – Miriam