CodeSample小助手 2019-12-30
有关标准存储、低频访问、归档存储三种存储类型的更多信息,请参考开发指南的存储类型介绍及存储类型转换。
# -*- coding: utf-8 -*-
import oss2
import os
# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州为例,其它Region请按实际情况填写。本示例中的Bucket与Object需提前创建好, 且Object类型为标准或低频访问存储类型。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
object_name = '<yourObjectName>'
# 添加存储类型header,此处以更改文件存储类型为归档类型为例。
headers = {'x-oss-storage-class': oss2.BUCKET_STORAGE_CLASS_ARCHIVE}
# 更改文件存储类型。
bucket.copy_object(bucket.bucket_name, object_name, object_name, headers)
# -*- coding: utf-8 -*-
import oss2
import os
import time
# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州为例,其它Region请按实际情况填写。本示例中的Bucket与Object需提前创建好, 且Object类型为归档存储类型。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
object_name = '<yourObjectName>'
# 获取文件元信息。
meta = bucket.head_object(object_name)
# 查看文件存储类型是否为归档类型。如果是,则需要先解冻才能修改文件存储类型。解冻时间预计1分钟。
if meta.resp.headers['x-oss-storage-class'] == oss2.BUCKET_STORAGE_CLASS_ARCHIVE:
bucket.restore_object(object_name)
while True:
meta = bucket.head_object(object_name)
if meta.resp.headers['x-oss-restore'] == 'ongoing-request="true"':
time.sleep(5)
else:
break
# 添加存储类型header,此处以更改文件存储类型为低频访问类型为例。
headers = {'x-oss-storage-class': oss2.BUCKET_STORAGE_CLASS_IA}
# 更改文件存储类型。
bucket.copy_object(bucket.bucket_name, object_name, object_name, headers)
各种存储类型的存储费用介绍,请参考计量项和计费项的存储费用一节。