ks33requests.client module¶
-
ks33requests.client.
get_s3obj
(resp: requests.models.Response)¶ 读取 KS3 返回的 HTTP 响应正文,并转换为 Amazon S3 结构的对象
- 参数
resp (requests.Response) – 由
Client.send()
返回的 HTTP 响应对象- 返回
S3 对象
参见
返回对象的结构定义来自 http://s3.amazonaws.com/doc/2006-03-01/AmazonS3.xsd
注解
如果返回的 HTTP 响应没有正文,该函数返回值为
None
-
class
ks33requests.client.
Client
(access_key: str = None, secret_key: str = None, endpoint: str = 'kss.ksyun.com', session: requests.sessions.Session = None, use_https: bool = True)¶ 基类:
object
KS3 的“客户端”
它提供了对 金山云对象存储(KS3)的 HTTP API 的简单封装,轻微提升了操作方便性。
API 详见 https://docs.ksyun.com/documents/2321
- 参数
-
send
(method: str = 'get', bucket_name: str = None, object_key: str = None, sub_resources: Union[str, List[str]] = None, data=None, encoding: str = None, content_md5: str = None, headers: Dict[str, str] = None, params: Dict[str, str] = None, check_status: bool = True, session: requests.sessions.Session = None, **kwargs) → requests.models.Response¶ 向 KS3 发送一个 HTTP API 请求,并返回对应的 HTTP 响应对象
- 参数
method (str) – HTTP 方法
bucket_name (str) –
Bucket是存放Object的容器,所有的Object都必须存放在特定的Bucket中。
每个用户最多可以创建30个Bucket,每个Bucket中可以存放无限多个Object。 Bucket不能嵌套,每个Bucket中只能存放Object,不能再存放Bucket,Bucket下的Object是一个平级的结构。 Bucket的名称全局唯一且命名规则与DNS命名规则相同:
仅包含小写英文字母(a-z),数字,点(.),中线,即: abcdefghijklmnopqrstuvwxyz0123456789.-
必须由字母或数字开头
长度在3和63个字符之间
不能是IP的形式,类似 192.168.0.1
不能以 kss 开头
object_key (str) –
在KS3中,用户操作的基本数据单元是Object。
单个Object允许存储0~50TB的数据。 Object 包含key和data。 其中,key是Object的名字;data是Object 的数据。 key为UTF-8编码,且编码后的长度不得超过1024个字节。
sub_resources (Union[str, List[str]]) –
用户请求的子资源
把URL参数中的:
"acl","lifecycle","location","logging","notification","partNumber","policy","requestPayment","torrent","uploadId","uploads","versionId","versioning","versions","website","delete","thumbnail","cors","queryadp","adp","asyntask","querytask","domain","response-content-type","response-content-language","response-expires","response-cache-control","response-content-disposition","response-content-encoding"
筛选出来,将这些查询字符串及其请求值(不做URL编码的请求值)按照字典序,从小到大排列,以&为分隔符排列,即可得到SubResource。
使用时,可以传入:
单个子资源字符串
子资源字符串的列表
计算好了的 SubResource 字符串
data –
上传内容。可以使
requests
的 POST 或 PUT 支持的任何类型如: 要写入的文件,要设置的 ACL 规则,等等……
注解
仅在
method
参数 为"PUT"
和"POST"
时有效。encoding (str) – 上传内容编码,对字符类型有效。默认自动获取。
content_md5 (str) –
用户自行计算的上传内容的 MD5 散列值对应的 BASE64 字符串。默认自动计算。
注解
默认值为
None
,将自动计算。但是,如果传入空字符串 (""
) ,将以空字符串覆盖校验值(不校验)。check_status (bool) – 是否在收到 HTTP 回复的第一行时检查状态码
session (requests.Session) – 使用指定的会话发送 API 请求。默认自动分配。
kwargs – 其它传给
requests
的参数
- 返回
HTTP 响应对象
警告
此时尚未接收 HTTP 响应的内容,可使用
requests.Response
的一系列方法/属性获取正文,如:- 返回类型
- 引发
Ks3Error – 返回了 KS3 文档定义的错误 HTTP 状态编码
requests.RequestException – 其它 HTTP 错误
-
property
session
¶ 用户指定的
requests.Session
- 返回类型