aws s3 全名是 Simple Storage Service,是对象存储服务(oss),对象存储服务作为网盘的优点这里就不细说了,其提供的统一接口sdk几乎涵盖了所有语言。除了通用性以外,其以上传下载为核心的接口几乎可以满足所有的业务需求。本人在几年的工作中对接过不同sdk的接口,可以说aws s3的接口,只有你想不到,没有他做不到,虽然前提是你能从他那天书一样的接口文档中找到你想要的内容。下文是记录下对接过程中s3几个比较重要的接口,对象存储是私有化部署,下文代码是以php为开发语言(哪个开发语言不重要,只要语言底层支持io多路复用性能上都不会有太大区别)。
连接
access_key和secret_key是每个对象存储都会提供的信息,在endpoint填写自己私有化部署或者其它云服务商的对象存储地址
use Aws\S3\S3Client;
use Aws\Credentials\Credentials;
use Aws\Exception\AwsException;
use Aws\Exception\MultipartUploadException;
use Aws\S3\ObjectUploader;
use Aws\S3\MultipartUploader;
$this->client = new S3Client([
'endpoint' => $endpoint,
'region' => 'us-east-1', //需要随便一个region
'service_name' => 's3',
'verify' => 'False',
'credentials' => new Credentials($aws_access_key_id, $aw