初始化

确定EndPoint

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

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

NOS区域域名地址

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

配置秘钥

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

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

新建S3Client

使用NOS地区域名创建S3Client

初始化代码如下所示:

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'
]);

设置网络参数

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

setTimeout(3600 /* seconds */);
$s3Client->setConnectTimeout(10 /* seconds */);

其中:

  • setTimeout设置请求超时时间,单位秒,默认是5184000秒, 这里建议不要设置太小,如果 上传文件很大,消耗的时间会比较长
  • setConnectTimeout设置连接超时时间,单位秒,默认是10秒