版本控制应用于存储空间(Bucket)内的所有文件(Object)。通过Object的版本管理,在错误覆盖或者删除Object后,您能够将Bucket中存储的Object恢复至任意时刻的历史版本。
注意事项
本文示例代码以华东1(杭州)的地域ID
cn-hangzhou
为例,默认使用外网Endpoint,如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见OSS地域和访问域名。本文以从环境变量读取访问凭证为例。如何配置访问凭证,请参见配置访问凭证。
要设置Bucket版本控制状态,您必须具有
oss:PutBucketVersioning
权限;要获取Bucket版本控制状态信息,您必须具有oss:GetBucketVersioning
权限。具体操作,请参见为RAM用户授权自定义的权限策略。
方法定义
设置Bucket版本控制状态
func (c *Client) PutBucketVersioning(ctx context.Context, request *PutBucketVersioningRequest, optFns ...func(*Options)) (*PutBucketVersioningResult, error)
获取Bucket版本控制状态信息
func (c *Client) GetBucketVersioning(ctx context.Context, request *GetBucketVersioningRequest, optFns ...func(*Options)) (*GetBucketVersioningResult, error)
请求参数列表
参数名 | 类型 | 说明 |
ctx | context.Context | 请求的上下文,可以用来设置请求的总时限 |
request | *PutBucketVersioningRequest | 设置Bucket版本控制的请求参数,具体请参见PutBucketVersioningRequest |
*GetBucketVersioningRequest | 获取Bucket版本控制状态信息的请求参数,具体请参见GetBucketVersioningRequest | |
optFns | ...func(*Options) | (可选)接口级的配置参数, 具体请参见Options |
返回值列表
返回值名 | 类型 | 说明 |
result | *PutBucketVersioningResult | 设置Bucket版本控制的接口返回值,当 err 为nil 时有效,具体请参见PutBucketVersioningResult |
*GetBucketVersioningResult | 获取Bucket版本控制状态信息的接口返回值,当err为nil时有效,具体请参见GetBucketVersioningResult | |
err | error | 请求的状态,当请求失败时,err 不为 nil |
示例代码
相关文档
关于设置Bucket版本控制状态的API接口,请参见PutBucketVersioning。
关于获取Bucket版本控制状态的API接口,请参见GetBucketVersioning。