初始化

确定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之后,可以按照以下的步骤进行初始化

新建Client

使用NOS地区域名创建client

初始化代码如下所示

import boto3
import botocore


access_key = "您的accessKeyId"
secret_key = "您的accessKeySecret"
end_point = "建桶时选择的的区域域名" #需要加入scheme(http || https)

config = botocore.config.Config(connect_timeout=1200,
                            signature_version='s3v4',
                            s3={'addressing_style': 'virtual'}, #nos公有云只支持子域名的方式
                            retries={"max_attempts": 4}
                            )

client = boto3.client('s3',
    aws_access_key_id=access_key,
    aws_secret_access_key=secret_key,
    endpoint_url=end_point, #必须包含scheme,scheme中的http/https决定了使用什么方式上传对象
    use_ssl=True,
    config=config
)

具体参数见下表:

参数描述默认值
connect_timeout建立连接的超时时间(单位:秒)默认:Socket的全局Timeout值
max_pool_connections允许打开的最大HTTP连接数默认:16
retries请求失败后最大的重试次数默认:2