ceph 官网的文档很旧,AWS 放出的SDK版本已经更新过很多,类、方法的结构跟 ceph 官网的文档已经完全不一样了。目前,我使用 composer 安装的版本已经是 3.26.5 了。
这里对如何使用新版本的 AWS SDK 连接 ceph 进行示范:
先按照 AWS 的官方文档使用 composer 安装好 sdk,然后使用下面的代码就可以连接到 ceph 对象存储了
<?php
define('AWS_ACCESS_KEY_ID', '***');
define('AWS_SECRET_ACCESS_KEY', '******');
use Aws\S3\S3Client;
use Aws\Exception\AwsException;
$s3Client = new S3Client([
'region' => '',
'version' => '2006-03-01',
'endpoint' => 'http://ip:port',
'credentials' => [
'key' => AWS_ACCESS_KEY_ID,
'secret' => AWS_SECRET_ACCESS_KEY,
],
]);
$buckets = $s3Client->listBuckets();
注:AWS 的 SDK 可能会更新并对类或者方法进行调整,上面的代码在 SDK 3.26.5 版本中可正常使用