Клиентская библиотека RiakCS S3 PHP
Есть ли какая-нибудь клиентская библиотека RiakCS S3 PHP? Лучшее, что я смог найти, это клиентское программное обеспечение командной строки S3cmd.
Также я видел, что есть Riak PHP Client, но похоже, что ничего не связано с S3.
Я установил https://github.com/aws/aws-sdk-php-laravel и использовал те же учетные данные, что и для RiakCS S3, но, похоже, он не работает. Сообщение об ошибке ниже:
The AWS Access Key Id you provided does not exist in our records.
Спасибо за любое руководство или совет.
2 ответа
На самом деле, если вы используете Riak, это не будет прокси, это будет совершенно другая конечная точка. Таким образом, вы должны сделать это таким образом с base_url
опция:
$s3 = S3Client::factory([
'base_url' => 'http://127.0.0.1:8080',
'region' => 'my-region',
'key' => 'my-key',
'secret' => 'my-secret',
'command.params' => ['PathStyle' => true]
]);
С помощью 'command.params'
позволяет установить параметр, используемый в каждой операции. Вам нужно будет использовать 'PathStyle'
опцию при каждом запросе, чтобы убедиться, что SDK не перемещает ваше ведро в часть хоста URL, как это должно делаться для Amazon S3.
Об этом говорили все о проблеме на GitHub.
aws-sdk-php-laravel использует aws-sdk-php, который жестко запрограммирован для использования URL-адресов Amazon. Если вы хотите использовать эту библиотеку с Riak CS, вам необходимо настроить ее для использования вашего узла в качестве прокси. В соответствии с документами конфигурации, которые будут установлены с помощью:
use Aws\S3\S3Client;
$s3 = S3Client::factory(array(
'request.options' => array(
'proxy' => '127.0.0.1:8080'
)
));
Я не использовал Laravel, поэтому я не уверен, куда его поместить, чтобы он передавал настройку