最近更新时间:2023-03-13 17:00:23
以下代码用于获取文件元信息:
from ks3.connection import Connection
# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
# 通过指定 host(Endpoint),您可以在指定的地域创建新的存储空间。host(Endpoint) 以北京为例,其它 Region 请按实际情况填写。
conn = Connection('<yourAccessKeyId>', '<yourAccessKeySecret>', host='ks3-cn-beijing.ksyuncs.com')
# 获取存储空间实例
b = conn.get_bucket('<yourBucketName>')
# 获取文件元信息(大小、最后更新时间等)
# 填写Object完整路径。Object完整路径中不能包含Bucket名称。
resp = b.get_key_meta('<yourKeyName>')
if resp:
print("获取文件元数据header成功: ", resp.headers)
以下代码用于修改文件的元信息:
from ks3.connection import Connection
# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
# 通过指定 host(Endpoint),您可以在指定的地域创建新的存储空间。host(Endpoint) 以北京为例,其它 Region 请按实际情况填写。
conn = Connection('<yourAccessKeyId>', '<yourAccessKeySecret>', host='ks3-cn-beijing.ksyuncs.com')
# 获取存储空间实例
b = conn.get_bucket('<yourBucketName>')
# 添加元数据相关header,此处更改content-type和元数据指令
headers = {
'content-type': 'text/plain',
'x-kss-metadata-directive': 'REPLACE'
}
# 更改文件元数据信息。通过复制并添加新header的方式实现,故方法名为copy_key
# 第一个和第三个参数都是对象名称,第二个参数是存储空间名称
b.copy_key('<yourKeyName>', '<yourBucketName>', '<yourKeyName>', headers=headers)
详情参考PUT Object Copy
纯净模式