使用说明
- 用于转换文件的存储类型,可以转换文件为标准、低频、归档三种存储类型。
- 注意:现在不支持低频转为标准以及归档转为标准、低频
函数说明
class_switch_file
(bucket, key, storageclass, header=None)
文件存储类型转换方法
Parameters
- bucket – string类型, 空间名称
- key – string类型, 文件在空间中的名称
- storageclass – string类型,文件目标存储类型,目前支持三种存储类型:STANDARD(标准)、IA(低频)、ARCHIVE(归档)。
- header – dict类型,http 请求header,键值对类型分别为string,比如{'User-Agent': 'Google Chrome'}
Returns
- ret: 如果http状态码为[200, 204, 206]之一则返回None,否则如果服务器返回json信息则返回dict类型,键值对类型分别为string, unicode string类型,否则返回空的dict
- ResponseInfo: 响应的具体信息,UCloud UFile 服务器返回信息或者网络链接异常
代码示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public_key = '' #账户公钥
private_key = '' #账户私钥
bucket = '' #空间名称
local_file = '' #本地文件名
put_key = '' #上传文件在空间中的名称
STANDARD = 'STANDARD' #标准文件类型
IA = 'IA' #低频文件类型
# 设置上传host后缀,外网可用后缀形如 .cn-bj.ufileos.com(cn-bj为北京地区,其他地区具体后缀可见控制台:对象存储-单地域空间管理-存储空间域名)
# 默认值为'.cn-bj.ufileos.com',如果上传文件的bucket所在地域不在北京,请务必设置此项
upload_suffix = 'YOUR_UPLOAD_SUFFIX'
# 设置下载host后缀,普通下载后缀即上传后缀,CDN下载后缀为 .ufile.ucloud.com.cn
download_suffix = 'YOUR_DOWNLOAD_SUFFIX'
from ufile import filemanager
putufile_handler = filemanager.FileManager(public_key, private_key, upload_suffix, download_suffix)
classswitch_handler = filemanager.FileManager(public_key, private_key, upload_suffix, download_suffix)
# 普通上传文件至空间
header = dict()
header['X-Ufile-Storage-Class'] = STANDARD
ret, resp = putufile_handler.putfile(bucket, put_key, local_file, header=header)
assert resp.status_code == 200
# 标准文件类型转换为低频文件类型
ret, resp = classswitch_handler.class_switch_file(bucket, put_key, IA)
assert resp.status_code == 200
- HTTP 返回状态码
状态码 | 描述 |
---|---|
200 | 文件转换类型成功 |
400 | 不存在的空间 |
403 | API公私钥错误 或 归档文件尚未解冻不允许转换文件类型 |
401 | 上传凭证错误 |
PREVIOUS解冻归档文件
NEXT比较本地文件和远程文件etag