在线服务部署相关
更新时间:2025-05-28
在线推理服务SDK中相关接口为最新的v2版本百舸API,相关接口文档详见 API参考/在线服务部署相关接口
创建服务
使用以下代码可以创建在线部署任务
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3client, _ := api.NewClient(ak, sk, endpoint)
4createServiceArgs := &api.ServiceConf{
5 Name: "test",
6 InstanceCount: 1,
7 AcceleratorType: "",
8 WorkloadType: "",
9 Containers: []api.ContainerConf{
10 {
11 Name: "test-container",
12 Cpus: 1,
13 Memory: 1,
14 AcceleratorCount: 0,
15 Command: []string{"/bin/sh", "-c", "sleep inf"},
16 Image: api.ImageConf{
17 ImageType: 1,
18 ImageUrl: "your image url",
19 },
20 Ports: []api.PortConf{
21 {
22 Name: "HTTP",
23 Port: 8080,
24 },
25 },
26 },
27 },
28 ResourcePool: api.ResourcePoolConf{
29 ResourcePoolId: "your resource pool id",
30 ResourcePoolName: "your resource pool name",
31 QueueName: "your queue name",
32 },
33 Misc: api.Misc{
34 GracePeriodSec: 30,
35 FedPodsPerIns: 0,
36 },
37 Deploy: api.DeployConf{
38 Schedule: api.ScheduleConf{
39 Priority: "high",
40 },
41 },
42 Access: api.AccessConf{
43 PublicAccess: false,
44 NetworkType: "aiGateway",
45 AiGateway: api.AiGatewayConf{
46 EnableAuth: true,
47 },
48 },
49}
50
51result, err := client.CreateService(createServiceArgs, "your clientToken")
52
53if err != nil {
54 panic(err)
55}
56
57jsonBytes, _ := json.Marshal(result)
58fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
查询服务列表
使用以下代码可以查询服务列表
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3client, _ := api.NewClient(ak, sk, endpoint)
4result, err := client.ListService(&api.ListServiceArgs{
5 PageSize: 10,
6 PageNumber: 1,
7})
8if err != nil {
9 panic(err)
10}
11
12jsonBytes, _ := json.Marshal(result)
13fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
查询服务状态
使用以下代码可以查询服务状态
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3
4client, _ := api.NewClient(ak, sk, endpoint)
5result, err := client.ListServiceStats(&api.ListServiceStatsArgs{
6 ServiceId: "",
7})
8
9if err != nil {
10 panic(err)
11}
12
13jsonBytes, _ := json.Marshal(result)
14fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
查询服务详情
使用以下代码可以查询服务详情
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3
4client, _ := api.NewClient(ak, sk, endpoint)
5result, err := client.ServiceDetails(&api.ServiceDetailsArgs{
6 ServiceId: "",
7})
8
9if err != nil {
10 panic(err)
11}
12
13jsonBytes, _ := json.Marshal(result)
14fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
升级服务
使用以下代码可以对服务进行升级更新
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3client, _ := api.NewClient(ak, sk, endpoint)
4updateServiceArgs := &api.ServiceConf{
5 Name: "test",
6 InstanceCount: 1,
7 AcceleratorType: "",
8 WorkloadType: "",
9 Containers: []api.ContainerConf{
10 {
11 Name: "test-container",
12 Cpus: 1,
13 Memory: 1,
14 AcceleratorCount: 0,
15 Command: []string{"/bin/sh", "-c", "sleep inf"},
16 Image: api.ImageConf{
17 ImageType: 1,
18 ImageUrl: "your image url",
19 },
20 Ports: []api.PortConf{
21 {
22 Name: "HTTP",
23 Port: 8080,
24 },
25 },
26 },
27 },
28 ResourcePool: api.ResourcePoolConf{
29 ResourcePoolId: "your resource pool id",
30 ResourcePoolName: "your resource pool name",
31 QueueName: "your queue name",
32 },
33 Misc: api.Misc{
34 GracePeriodSec: 30,
35 FedPodsPerIns: 0,
36 },
37 Deploy: api.DeployConf{
38 Schedule: api.ScheduleConf{
39 Priority: "high",
40 },
41 },
42 Access: api.AccessConf{
43 PublicAccess: false,
44 NetworkType: "aiGateway",
45 AiGateway: api.AiGatewayConf{
46 EnableAuth: true,
47 },
48 },
49}
50
51result, err := client.UpdateService(&api.UpdateServiceArgs{
52 ServiceId: "you serviceId",
53 ServiceConf: *updateServiceArgs,
54 Description: "your description",
55 })
56
57if err != nil {
58 panic(err)
59}
60
61jsonBytes, _ := json.Marshal(result)
62fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
服务扩缩容
使用以下代码可以对服务实例进行扩缩容
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3
4client, _ := api.NewClient(ak, sk, endpoint)
5result, err := client.ScaleService(&api.ScaleServiceArgs{
6 ServiceId: "",
7 InstanceCount: 1,
8})
9
10if err != nil {
11 panic(err)
12}
13
14jsonBytes, _ := json.Marshal(result)
15fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
配置公网访问
使用以下代码可以配置开启和关闭公网
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3
4client, _ := api.NewClient(ak, sk, endpoint)
5result, err := client.PubAccess(&api.PubAccessArgs{
6 ServiceId: "",
7 PublicAccess: false,
8})
9
10if err != nil {
11 panic(err)
12}
13
14jsonBytes, _ := json.Marshal(result)
15fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
查询变更记录
使用以下代码可以查询服务变更记录
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3
4client, _ := api.NewClient(ak, sk, endpoint)
5result, err := client.ListChange(&api.ListChangeArgs{
6 ServiceId: "",
7})
8
9if err != nil {
10 panic(err)
11}
12
13jsonBytes, _ := json.Marshal(result)
14fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
查询变更详情
使用以下代码可以查询服务变更详情
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3
4client, _ := api.NewClient(ak, sk, endpoint)
5result, err := client.ChangeDetail(&api.ChangeDetailArgs{
6 ChangeId: "",
7})
8
9if err != nil {
10 panic(err)
11}
12
13jsonBytes, _ := json.Marshal(result)
14fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
删除服务
使用以下代码可以删除服务
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3
4client, _ := api.NewClient(ak, sk, endpoint)
5result, err := client.DeleteService(&api.DeleteServiceArgs{
6 ServiceId: "",
7})
8
9if err != nil {
10 panic(err)
11}
12
13jsonBytes, _ := json.Marshal(result)
14fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
查询服务实例组列表
使用以下代码可以查询服务实例组列表(仅限开启分布式的服务)
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3
4client, _ := api.NewClient(ak, sk, endpoint)
5result, err := client.ListPodGroups(&api.ListPodGroupsArgs{
6 ServiceId: "",
7})
8if err != nil {
9 panic(err)
10}
11jsonBytes, _ := json.Marshal(result)
12fmt.Println(string(jsonBytes))
查询服务pod列表
使用以下代码可以查询服务pod列表
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3
4client, _ := api.NewClient(ak, sk, endpoint)
5result, err := client.ListPod(&api.ListPodArgs{
6 ServiceId: "",
7})
8
9if err != nil {
10 panic(err)
11}
12
13jsonBytes, _ := json.Marshal(result)
14fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
摘除服务pod流量
使用以下代码可以摘除和开启pod流量
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3
4client, _ := api.NewClient(ak, sk, endpoint)
5result, err := client.BlockPod(&api.BlockPodArgs{
6 ServiceId: "",
7 InstanceId: "",
8 Block: true,
9})
10
11if err != nil {
12 panic(err)
13}
14
15jsonBytes, _ := json.Marshal(result)
16fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数
删除服务pod并触发重建
使用以下代码可以删除pod并重建
Go
1// import api "github.com/baidubce/bce-sdk-go/services/aihc/inference/v2"
2ak, sk, endpoint := "Your ak", "Your sk", "aihc.bj.baidubce.com"
3
4client, _ := api.NewClient(ak, sk, endpoint)
5result, err := client.DeletePod(&api.DeletePodArgs{
6 ServiceId: "",
7 InstanceId: "",
8})
9
10if err != nil {
11 panic(err)
12}
13
14jsonBytes, _ := json.Marshal(result)
15fmt.Println(string(jsonBytes))
注意:
- 根据接口文档填写具体的访问参数