文档首页 > > SDK参考> Python> 上传对象> 流式上传

流式上传

分享
更新时间: 2019/06/03 GMT+08:00

流式上传使用包含“read”属性的可读对象作为对象的数据源。以下代码展示了如何进行流式上传:

上传网络流

# 引入模块
from obs import ObsClient

# 创建ObsClient实例
obsClient = ObsClient(
    access_key_id='*** Provide your Access Key ***',    
    secret_access_key='*** Provide your Secret Key ***',    
    server='https://your-endpoint'
)

import sys
if sys.version_info.major == 2 or not sys.version > '3':
    import httplib
else:
    import http.client as httplib

conn = httplib.HTTPConnection('www.a.com', 80)
conn.request('GET', '/')
content = conn.getresponse()

resp = obsClient.putContent('bucketname', 'objectname', content=content)

if resp.status < 300:    
    print('requestId:', resp.requestId)
else:    
    print('errorCode:', resp.errorCode)
    print('errorMessage:', resp.errorMessage)

上传文件流

# 引入模块
from obs import ObsClient

# 创建ObsClient实例
obsClient = ObsClient(
    access_key_id='*** Provide your Access Key ***',    
    secret_access_key='*** Provide your Secret Key ***',    
    server='https://your-endpoint'
)
content = open('localfile', 'rb')

resp = obsClient.putContent('bucketname', 'objectname', content=content)

if resp.status < 300:    
    print('requestId:', resp.requestId)
else:    
    print('errorCode:', resp.errorCode)
    print('errorMessage:', resp.errorMessage)
  • 使用流式上传时,content参数必须是包含“read”属性的可读对象。
  • 上传文件流时,必须以二进制模式(“rb”模式或“rb+”模式)打开文件。
  • 大文件上传建议使用分段上传
  • 上传内容大小不能超过5GB。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区