2. 初始化

2.1. 确定EndPoint

EndPoint 是NOS各个区域的地址,目前支持以下形式

EndPoint类型 备注
NOS区域域名地址 使用桶所在的区域的NOS域名地址

2.1.1. NOS区域域名地址

进入NOS控制台,在桶的 属性 中可以查找到当前桶所在的区域及域名,桶的域名的后缀部分为 该桶的公网域名,例如:test-logging.nos-eastchina1.126.net中的nos-eastchina1.126.net 为该桶的公网EndPoint。

2.2. 配置秘钥

要接入NOS服务,您需要一对有效的AccessKey(包括AccessKeyId与AccessKeySecret)来进行 签名验证,开通服务与AccessKey请参考 访问控制 :

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

2.3. 新建S3Client

2.3.1. 使用NOS地区域名创建S3Client

初始化代码如下所示:

<?php
use Aws\S3\S3Client;
use \Aws\S3\Exception\S3Exception;

$s3Client = new S3Client([
        'version'     => 'latest',
        'region'      => 'us-east-1',
        'credentials' => [
                'key'    => 'xxx',
                'secret' => 'xxx',
        ],
        'endpoint'      => 'http://nos-eastchina1.126.net'
]);

2.4. 设置网络参数

我们可以通过Client设置一些基本的网络参数:

<?php
$s3Client->setTimeout(3600 /* seconds */);
$s3Client->setConnectTimeout(10 /* seconds */);
其中:
  • setTimeout设置请求超时时间,单位秒,默认是5184000秒, 这里建议不要设置太小,如果

上传文件很大,消耗的时间会比较长

  • setConnectTimeout设置连接超时时间,单位秒,默认是10秒