命名空间
更新时间:2026-03-30
命名空间管理
前置代码
如下代码用于初始化 CCR Client,后续示例均基于该 ccrClient。
Go
1package main
2
3import (
4 "fmt"
5
6 "github.com/baidubce/bce-sdk-go/services/eccr"
7)
8
9func newClient() (*eccr.Client, error) {
10 ak := "<your-ak>"
11 sk := "<your-sk>"
12 endpoint := "ccr.bj.baidubce.com"
13 return eccr.NewClient(ak, sk, endpoint)
14}
15
16func main() {
17 ccrClient, err := newClient()
18 if err != nil {
19 fmt.Println("new eccr client failed:", err)
20 return
21 }
22
23 _ = ccrClient
24}
CreateProject
如下代码可以创建命名空间:
Go
1instanceID := "ccr-xxxxxxxx"
2
3args := &eccr.CreateProjectArgs{
4 ProjectName: "demo-project",
5 Public: "false", // true: 公有, false: 私有
6}
7
8resp, err := ccrClient.CreateProject(instanceID, args)
9if err != nil {
10 fmt.Println("create project failed:", err)
11 return
12}
13
14fmt.Println("project id:", resp.ProjectID)
15fmt.Println("project name:", resp.ProjectName)
ListProjects
如下代码可以列举命名空间:
Go
1instanceID := "ccr-xxxxxxxx"
2
3args := &eccr.ListProjectsArgs{
4 PageNo: 1,
5 PageSize: 10,
6 ProjectName: "",
7}
8
9resp, err := ccrClient.ListProjects(instanceID, args)
10if err != nil {
11 fmt.Println("list projects failed:", err)
12 return
13}
14
15fmt.Println("total:", resp.Total)
16for _, p := range resp.Projects {
17 fmt.Printf("project id=%d name=%s public=%s\n", p.ProjectID, p.ProjectName, p.Public)
18}
GetProjectDetail
如下代码可以查询命名空间详情:
Go
1instanceID := "ccr-xxxxxxxx"
2projectName := "demo-project"
3
4resp, err := ccrClient.GetProjectDetail(instanceID, projectName)
5if err != nil {
6 fmt.Println("get project detail failed:", err)
7 return
8}
9
10fmt.Println("project id:", resp.ProjectID)
11fmt.Println("project name:", resp.ProjectName)
12fmt.Println("repo count:", resp.RepoCount)
DeleteProject
如下代码可以删除指定命名空间:
Go
1instanceID := "ccr-xxxxxxxx"
2projectName := "demo-project"
3
4err := ccrClient.DeleteProject(instanceID, projectName)
5if err != nil {
6 fmt.Println("delete project failed:", err)
7 return
8}
9
10fmt.Println("delete project success")
BatchDeleteProjects
如下代码可以批量删除命名空间:
Go
1instanceID := "ccr-xxxxxxxx"
2
3args := &eccr.BatchDeleteProjectsArgs{
4 Items: []string{"demo-project-1", "demo-project-2"},
5}
6
7err := ccrClient.BatchDeleteProjects(instanceID, args)
8if err != nil {
9 fmt.Println("batch delete projects failed:", err)
10 return
11}
12
13fmt.Println("batch delete projects success")
评价此篇文章
