zoukankan      html  css  js  c++  java
  • 快速上手阿里云oss SDK

    使用阿里云oss SDK

    依赖安装:

    • pip install oss2
    • pip install aliyun-python-sdk-sts
    • 版本最好是 2.7.5 或以上
    • 如果要开启 crc64 循环冗余校验,需要先将 crcmod 安装好。
    • 安装 python-devel 执行 yum install python-devel。
    • 需要循环冗余校验,安装 crcmod 执行 pip install crcmod。

    获取AccessKeyId和AccessKeySecret:

    1. 登录阿里云控制台。

    2. 将鼠标放在右上方的用户名区域,在弹出的快捷菜单中选择accesskeys。

    3. 系统弹出安全提示对话框,单击继续使用AccessKey。页面显示AccessKeyId和AccessKeySecret。

    快速创建子账号AccessKey:

    1. 使用主账号登录阿里云控制台。
    2. 将鼠标置于页面右上方的账号图标,然后单击accesskeys。
    3. 安全提示框中,单击开始使用子用户AccessKey。
    4. 填写RAM用户名,然后单击下一步。
    5. 给RAM用户授予相关权限,例如AliyunOSSFullAccess将给RAM用户授予OSS的管理权限。单击开始创建。
    6. 完成手机验证后,单击确定。
    7. 查看AccessKeyId和AccessKeySecret。然后单击下载AccessKey,下载AccessKey信息。

    整体使用方法:

    # -*- coding: utf-8 -*-
    
    import oss2
    
    endpoint = 'http://oss-cn-hangzhou.aliyuncs.com' # Suppose that your bucket is in the Hangzhou region.
    
    auth = oss2.Auth('<Your AccessKeyID>', '<Your AccessKeySecret>')
    bucket = oss2.Bucket(auth, endpoint, '<your bucket name>')
    
    # The object key in the bucket is story.txt
    key = 'story.txt'
    
    # Upload
    bucket.put_object(key, 'Ali Baba is a happy youth.')
    
    # Download
    bucket.get_object(key).read()
    
    # Delete
    bucket.delete_object(key)
    
    # Traverse all objects in the bucket
    for object_info in oss2.ObjectIterator(bucket):
        print(object_info.key)
    

     

    创建存储空间:

    # -*- coding: utf-8 -*-
    import oss2
    
    # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
    # Endpoint以杭州为例,其它Region请按实际情况填写。
    bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
    
    # 设置存储空间为私有读写权限。
    bucket.create_bucket(oss2.models.BUCKET_ACL_PRIVATE)
    

      

    上传文件:

    # -*- coding: utf-8 -*-
    import oss2
    
    # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
    # Endpoint以杭州为例,其它Region请按实际情况填写。
    bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
    
    # <yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt
    bucket.put_object_from_file('<yourObjectName>', '<yourLocalFile>')
    

      

    下载文件:

    # -*- coding: utf-8 -*-
    import oss2
    
    # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
    # Endpoint以杭州为例,其它Region请按实际情况填写。
    bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
    
    # <yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt
    bucket.get_object_to_file('<yourObjectName>', '<yourLocalFile>')
    

      

    列举文件:

    # -*- coding: utf-8 -*-
    import oss2
    from itertools import islice
    
    # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
    # Endpoint以杭州为例,其它Region请按实际情况填写。
    bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
    
    # oss2.ObjectIteratorr用于遍历文件。
    for b in islice(oss2.ObjectIterator(bucket), 10):
        print(b.key)
    

      

    删除文件:

    # -*- coding: utf-8 -*-
    import oss2
    
    # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
    # Endpoint以杭州为例,其它Region请按实际情况填写。
    bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
    
    bucket.delete_object('<yourObjectName>')
    
  • 相关阅读:
    WPF 关于多语言 的实现 学习,利用反射中的特性
    WPF Textbox 中文输入崩溃 规避
    自定义控件.依赖项属性同步更新内部控件属性
    HexInput
    HashMap实现原理分析
    centos下nginx安装
    dos下mybatis自动生成代码
    设计模式之装饰器模式
    Java 中的悲观锁和乐观锁的实现
    redis分布式锁
  • 原文地址:https://www.cnblogs.com/cutesnow/p/10938963.html
Copyright © 2011-2022 走看看