全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
对象存储 OSS

初始化

更新时间:2017-11-15 18:10:03

Python SDK几乎所有的操作都是通过oss2.Service、oss2.Bucket进行的。这里,我们会详细说明如何初始化上述两个类。

确定Endpoint

请先阅读开发人员指南中关于访问域名和数据中心部分,理解Endpoint相关的概念。

Endpoint可以有以下几种形式:

示例 说明
http://oss-cn-hangzhou.aliyuncs.com 以HTTP协议,公网访问杭州区域的Bucket
https://oss-cn-beijing.aliyuncs.com 以HTTPS协议,公网范围北京区域的Bucket
http://my-domain.com 以HTTP协议,通过用户自定义域名(CNAME)访问某个Bucket

关于CNAME需要注意的是:

  • oss2.Service只支持非CNAME的Endpoint
  • 自定义域名my-domain.com CNAME到形如 http://<my-bucket>.oss-cn-hangzhou.aliyuncs.com 这样的域名

下面的代码设置OSS的访问域名为Endpoint参数:

  1. # -*- coding: utf-8 -*-
  2. import oss2
  3. auth = oss2.Auth('您的AccessKeyId', '您的AccessKeySecret')
  4. endpoint = 'http://oss-cn-hangzhou.aliyuncs.com' # 假设Bucket处于杭州区域
  5. bucket = oss2.Bucket(auth, endpoint, '您的Bucket名')

也可以设置使用自定义域名:

  1. # -*- coding: utf-8 -*-
  2. import oss2
  3. auth = oss2.Auth('您的AccessKeyId', '您的AccessKeySecret')
  4. cname = 'http://my-domain.com' # 假设您的域名为my-domain.com
  5. bucket = oss2.Bucket(auth, cname, '您的Bucket名', is_cname=True)

设置连接超时

可以指定可选connect_time来设定连接超时时间,以秒为单位。下面的代码初始化一个oss2.Bucket对象,并把连接超时时间设为30秒:

  1. # -*- coding: utf-8 -*-
  2. import oss2
  3. auth = oss2.Auth('您的AccessKeyId', '您的AccessKeySecret')
  4. endpoint = 'http://oss-cn-hangzhou.aliyuncs.com' # 假设Bucket处于杭州区域
  5. bucket = oss2.Bucket(auth, endpoint, '您的Bucket名', connect_timeout=30)

CRC数据校验

上传、下载文件默认开启CRC数据校验,确保上传、下载过程的数据完整性。CRC数据校验使用 crcmod 模块计算传输数据的CRC64,如果 crcmodC扩展模块没有安装成功,计算CRC64的效率较差。判断C扩展模块是否安装的方法,请参看 安装SDK。如果 crcmodC扩展模块没有安装成功,请配置编译环境重新安装 或 关闭CRC数据校验功能。关闭CRC数据校验功能的方法如下:

  1. # -*- coding: utf-8 -*-
  2. import oss2
  3. auth = oss2.Auth('您的AccessKeyId', '您的AccessKeySecret')
  4. endpoint = 'http://oss-cn-hangzhou.aliyuncs.com' # 假设Bucket处于杭州区域
  5. bucket = oss2.Bucket(auth, endpoint, '您的Bucket名', enable_crc=False)
本文导读目录