• 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为该文件的访问地址

  • 相关阅读:
    《逍遥法外》观后感
    1237. 螺旋折线
    P2196 挖地雷
    787. 归并排序
    466. 回文日期
    P1032 字串变换
    P1825 [USACO11OPEN]Corn Maze S
    P1162 填涂颜色
    P1101 单词方阵
    P1019 单词接龙
  • 原文地址:https://www.cnblogs.com/luochunxi/p/12785271.html
Copyright © 2020-2023  润新知