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 版本中可正常使用