开发者社区> 问答> 正文

Python-SDK之如何实现初始化?

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,如果 crcmod 的C扩展模块没有安装成功,计算CRC64的效率较差。判断C扩展模块是否安装的方法,请参看 安装SDK。如果 crcmod 的C扩展模块没有安装成功,请配置编译环境重新安装 或 关闭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)

展开
收起
青衫无名 2017-10-18 11:27:12 1772 0
0 条回答
写回答
取消 提交回答
问答标签:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载