使用阿里云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>')

最新文章

  1. Python面试题
  2. EBS 消息总线
  3. 【原创】Windows平台搭建Kafka源代码开发环境(Eclipse版本)
  4. [转]CentOS 5.3通过yum升级php到最新版本的方法
  5. sql server 相似度对比
  6. arcgis engine 基础代码
  7. SpringMvc_@RequestMapping设置Router Url大小写不敏感
  8. rapid js framework
  9. sysctl.conf
  10. ORACLE 变量定义
  11. 查看当前发行版可以使用的shell
  12. 免费SSL证书申请
  13. centos yum源问题
  14. orcle 索引的使用
  15. mysql_view
  16. d3力导向图聚焦
  17. Android的PopupWindow使用android学习之旅(四十三)
  18. egret 简单的一笔画算法,在wing中可以直接跑(以后玩这类游戏就有个作弊器了)
  19. 2019南昌网络赛-I(单调栈+线段树)
  20. python 列表list操作

热门文章

  1. Fetch &amp; Headers &amp; CSRF
  2. 如何理解NGK的Layer2-侧链?
  3. Java并发包源码学习系列:线程池ScheduledThreadPoolExecutor源码解析
  4. java对象克隆复制
  5. Example之selectOneByExample方法和selectByExample的使用
  6. Codeblocks支持语法着色
  7. 中小企业上云首选,华为云全新云服务器S6性能评测分析
  8. 微信小程序左右滚动公告栏效果
  9. Java 开发工具
  10. 内省详解(Introspector/BeanInfo/MethodDescriptor/PropertyDescriptor)