本教程旨在介绍如何使用七牛的Python SDK来快速地进行文件上传,下载,处理,管理等工作。
前言
我们在上面的两节中了解到,客户端上传文件时,需要从业务服务器申请一个上传凭证(Upload Token),而这个上传凭证是业务服务器根据上传策略(PutPolicy)来生成的,而这个生成过程中还必须使用到AccessKey和SecretKey。
我们从上面的简单示意图中可以看到:
上传客户端向业务服务器申请一个上传凭证(Upload Token)
业务服务器返回一个上传凭证给上传客户端
上传客户端构建上传请求,上传文件到七牛云存储服务器
七牛云存储服务器返回客户端文件上传的结果。
当然了,在我们前面的例子以及后面的例子中,上传客户端和业务服务器是一个,但是从业务模型来讲,第1步和第2步还是分开的(比如在网页端上传或者移动APP端上传中)。
上传策略
我们要研究七牛的上传策略,必须要了解它的所有的支持的参数(一共也不多)。文档:戳这里。
很多人可能第一眼看上去,感觉参数好多啊,头就大了,其实不然,对付多的东西,最好的办法就是分组,把参数按照功能不同进行分组。比如对于上传策略我们可以分为以下几组:
基本参数
基本参数包括文件上传后存储的空间,文件的上传模式(是否支持覆盖上传),上传凭证的过期时刻,业务服务器指定上传文件的名字等。
参数名
说明
scope
上传的空间bucket,或者是bucket:key(用于支持文件覆盖上传)。
deadline
上传凭证的失效时刻的时间戳,一般sdk里面会用参数expires来设置,就是deadline = now()+expires其中单位都是秒。
insertOnly
默认为0,配合