zoukankan      html  css  js  c++  java
  • python使用阿里云oss-sdk

    python使用阿里云oss-python-sdk

    安装

    pip install oss2

    安装验证

    >>> import oss2
    >>> oss2.__version__
    ''2.8.0''
    
    上面的输出表明您已经成功安装了Python SDK 2.8.0。

    创建存储空间

    import oss2
    auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
    
    bucket = oss2.Bucket(auth, '<your Endpoint >', '<yourBucketName>')
    bucket.create_bucket(oss2.models.BUCKET_ACL_PRIVATE) # 设置为存储空间为私有读写权限
    

    访问权限设置

    • 私有:BUCKET_ACL_PRIVATE
    • 公共读:BUCKET_ACL_PUBLIC_READ
    • 公共读写 :BUCKET_ACL_PUBLIC_READ_WRITE

    简单上传文件

    • 上传本地文件
    import oss2
    
    # 登录 https://ram.console.aliyun.com 创建RAM账号。
    auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
    bucket = oss2.Bucket(auth, '<your Endpoint >', '<yourBucketName>')
    
    # 必须以二进制的方式打开文件,因为需要知道文件包含的字节数。
    with open('<yourLocalFile>', 'rb') as fileobj:
        # Seek方法用于指定从第1000个字节位置开始读写。上传时会从您指定的第1000个字节位置开始上传,直到文件结束。
        fileobj.seek(1000, os.SEEK_SET)
        # Tell方法用于返回当前位置。
        current = fileobj.tell()
        bucket.put_object('<yourObjectName>', fileobj)
    
    • 网络流上传
    # -*- coding: utf-8 -*-
    import oss2
    import requests
    
    
    auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
    bucket = oss2.Bucket(auth, '<your Endpoint >', '<yourBucketName>')
    
    # requests.get返回的是一个可迭代对象(Iterable),此时Python SDK会通过Chunked Encoding方式上传。
    input = requests.get('http://www.aliyun.com')
    bucket.put_object('<yourObjectName>', input)
    

    put_object返回对象的resp.response.url为该文件的访问地址

  • 相关阅读:
    SQL EXPLAIN优化详解
    2019数据智能算法大赛赛后复盘
    K-D树详解
    点云配准相关
    pandas速查手册(中文版)
    Windows CMD命令大全
    获取时间戳
    SQL 字符串转成临时表
    delphi cxgrid明细新增第三行的报错【Key violation】
    cxgrid列的Properties(cxPopupEditPopup)的关闭方法
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/11635693.html
Copyright © 2011-2022 走看看