快照
更新时间:2023-08-01
创建快照
如下代码可以创建一个快照
args := &api.CreateSnapshotArgs{
VolumeId: volumeId,
SnapshotName: "sdk",
Description: "create by sdk",
}
result, err := client.CreateSnapshot(args)
if err != nil {
fmt.Println("create snapshot failed:", err)
} else {
fmt.Println("create snapshot success: ", result)
}
查询快照列表
如下代码可以查询当前账户下所有快照的列表
args := &api.ListSnapshotArgs{}
result, err := client.ListSnapshot(args)
if err != nil {
fmt.Println("list all snapshot failed:", err)
} else {
fmt.Println("list all snapshot success: ", result)
}
查询快照详情
如下代码可以查询特定快照的详细信息
result, err := client.GetSnapshotDetail(snapshotId)
if err != nil {
fmt.Println("get snapshot detail failed:", err)
} else {
fmt.Println("get snapshot detail success: ", result)
}
删除快照
如下代码可以删除一个快照
err := client.DeleteSnapshot(snapshotId)
if err != nil {
fmt.Println("delete snapshot failed:", err)
} else {
fmt.Println("delete snapshot success")
}
查询快照链列表
通过以下代码可以查询快照链列表
// 设置排序属性:chainId(快照链id,默认值),chainSize(快照链大小),volumeSize(磁盘大小)。可选参数
orderBy := "your-order-by"
// 设置排序方式:asc(正序,默认值), desc(倒序)。可选参数
order := "your-order"
// 设置每页容量,默认值为1000,可选参数
pageSize := 100
// 设置页数,默认为1,可选参数
pageNo := 1
// 设置磁盘ID,该字段非空则只返回这个磁盘的快照链信息,可选
volumeId := "your-volume-id"
args := &api.ListSnapshotChainArgs{
OrderBy: orderBy,
Order: order,
PageSize: pageSize,
PageNo: pageNo,
VolumeId: volumeId,
}
if res, err := bccClient.ListSnapshotChain(args); err != nil {
fmt.Println("get snapshot chain list failed: ", err)
} else {
fmt.Println("get snapshot chain list success, SnapshotId: ", res.Snapshot.Id)
}
快照链绑定标签
使用以下代码可以给指定快照链绑定标签
tagArgs := &api.TagSnapshotChain{
ChangeTags: []api.Tag{
{
TagKey: "go-SDK-Tag-Key3",
TagValue: "go_SDK-Tag-Value2",
},
},
}
BCC_CLIENT.TagVolume("your-chain-id", tagArgs)
快照链解绑标签
使用以下代码可以给指定快照链绑定标签
tagArgs := &api.TagVolumeArgs{
ChangeTags: []api.Tag{
{
TagKey: "go-SDK-Tag-Key3",
TagValue: "go_SDK-Tag-Value2",
},
},
}
BCC_CLIENT.UntagSnapshotChain("your-chain-id", tagArgs)
跨区域复制快照
使用以下代码可以将一份磁盘快照从一个地域复制到另一个地域
args := &api.RemoteCopySnapshotArgs{
ClientToken: "ClientTokenForTest",
DestRegionInfos: []api.DestRegionInfo{
{
Name: "Test",
DestRegion: "bj",
},
},
}
result, _ := BCC_CLIENT.CreateRemoteCopySnapshot("s-S9HdTie0", args)
fmt.Println(result)