全部产品
对象存储 OSS

初始化

更新时间:2017-06-07 13:26:11   分享:   

OSS\OssClient 是SDK的客户端类,使用者可以通过OssClient提供的接口管理存储空间(Bucket)和文件(Object)等。

确定Endpoint

Endpoint是阿里云OSS服务在各个区域的地址,目前支持两种形式

Endpoint类型 解释
OSS区域地址 使用OSS Bucket所在区域地址,各个区域Endpoint参考这里
用户自定义域名 用户自定义域名,且CNAME指向OSS域名

关于Endpoint,可以参考:点击查看

OSS区域地址

使用OSS Bucket所在区域地址,Endpoint查询可以有下面两种方式:

  • 查询Endpoint与区域对应关系详情,可以参考:点击查看
  • 您可以登录 阿里云OSS控制台,进入Bucket概览页,Bucket域名的后缀部分:如bucket-1.oss-cn-hangzhou.aliyuncs.comoss-cn-hangzhou.aliyuncs.com部分为该Bucket的外网Endpoint。

CNAME

  • 您可以将自己拥有的域名通过CNAME绑定到某个存储空间(Bucket)上,然后通过自己域名访问存储空间内的文件
  • 比如您要将域名new-image.xxxxx.com绑定到深圳区域的名称为image的存储空间上:
  • 您需要到您的域名xxxxx.com托管商那里设定一个新的域名解析,将http://new-image.xxxxx.com 解析到 http://image.oss-cn-shenzhen.aliyuncs.com ,类型为CNAME

配置密钥

要接入阿里云OSS,您需要拥有一对有效的 AccessKey(包括AccessKeyId和AccessKeySecret)用来进行签名认证。可以通过如下步骤获得:

在获取到 AccessKeyId和 AccessKeySecret之后,您可以按照下面步骤进行初始化

新建OssClient

使用OSS域名新建OssClient

  1. <?php
  2. use OSS\OssClient;
  3. use OSS\Core\OssException;
  4. $accessKeyId = "<您从OSS获得的AccessKeyId>";
  5. $accessKeySecret = "<您从OSS获得的AccessKeySecret>";
  6. $endpoint = "<您选定的OSS数据中心访问域名,例如http://oss-cn-hangzhou.aliyuncs.com>";
  7. try {
  8. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  9. } catch (OssException $e) {
  10. print $e->getMessage();
  11. }

OSS目前所有的节点列表见:OSS节点列表

使用自定义域名(CNAME)新建OssClient

  1. <?php
  2. use OSS\OssClient;
  3. use OSS\Core\OssException;
  4. $accessKeyId = "<您从OSS获得的AccessKeyId>";
  5. $accessKeySecret = "<您从OSS获得的AccessKeySecret>";
  6. $endpoint = "<您的绑定在某个Bucket上的自定义域名>";
  7. try {
  8. $ossClient = new OssClient(
  9. $accessKeyId, $accessKeySecret, $endpoint, true /* use cname */);
  10. } catch (OssException $e) {
  11. print $e->getMessage();
  12. }

其中OssClient的构造函数中,第4个参数是含义是是否使用自定义域名,在使用CNAME的时候需要将它置成true。而如果使用的是OSS官方域名,则不需要填此项,或者填为false

注意:

  • 使用自定义域名时,无法使用ListBuckets接口

配置网络参数

我们可以用ClientConfiguration设置一些网络参数:

  1. <?php
  2. $ossClient->setTimeout(3600 /* seconds */);
  3. $ossClient->setConnectTimeout(10 /* seconds */);

其中:

  • setTimeout设置请求超时时间,单位秒,默认是5184000秒, 这里建议 不要设置太小,如果上传文件很大,消耗的时间会比较长
  • setConnectTimeout设置连接超时时间,单位秒,默认是10秒
本文导读目录
本文导读目录
以上内容是否对您有帮助?