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

  • 相关阅读:
    flask-admin章节二:wtforms的使用以及在数据库场景中使用QuerySelectField代替SelectField
    flask-admin章节一:使用chartkick画报表
    flask-admin众博客概述
    python smtplib发送邮件遇到的认证问题
    python logging模块可能会令人困惑的地方
    Markdown
    SpringBoot-启动过程
    SpringBoot-目录
    AbstractQueuedSynchronizer
    ThreadLocal
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/11635693.html
Copyright © 2020-2023  润新知