- 产品文档
- > 存储与 CDN
- > 对象存储
- > AWS S3 兼容
- > AWS S3 SDK
- > S3 Python SDK
- > 初始化
初始化
确定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 |