实例

弹性裸金属服务器 BBC

  • 快速入门
  • 功能发布记录
  • 产品描述
    • 介绍
    • 优势
    • 产品型号
    • 地域及可用区
    • 应用场景
  • 典型实践
    • 使用Terraform管理BBC最佳实践
  • 操作指南
    • 监控
    • 标签
    • 网络
      • 辅助IP设置
      • 子网设置
    • 镜像
      • 镜像概述
      • 镜像服务协议
      • Windows镜像使用须知
      • Linux镜像使用须知
      • 自定义镜像
        • 删除自定义镜像
        • 自定义镜像概述
        • 创建自定义镜像
    • 标签
      • 标签高级功能
      • 标签配置
      • 标签管理概述
    • 存储
      • 实例分区
      • 存储概述
      • RAID配置
    • 服务组件
      • HAS-agent组件安装与升级
    • 实例
      • 重启实例
      • 实例概述
      • 重置密码
      • 重装实例
      • 启动实例
      • 续费实例
      • 停止实例
      • 释放实例
      • 实例生命周期
      • 查看实例
      • 回收实例
      • 登录实例
        • 登录Windows实例
        • 登录Linux实例
      • 创建实例
        • 通过自定义镜像创建实例
        • 通过购买页创建实例
    • 安全
      • 密钥对
        • 创建密钥对
  • 服务等级协议SLA
    • 百度智能云弹性裸金属服务器可信云
    • BBC服务等级协议SLA(V2.0)
  • API参考
    • 镜像相关接口
    • 简介
    • 套餐相关接口
    • 实例相关接口
    • 附录
    • 标签相关接口
    • 功能更新记录
    • 地域相关接口
    • 操作日志相关接口
    • 预留实例券相关接口
      • 预留实例券绑定标签
      • 预留实例券解绑标签
  • 常见问题
    • 使用类问题
  • 产品定价
    • 计费说明
    • 自动续费
  • SDK
    • Python_SDK
      • 实例
      • 地域
      • 镜像
      • BbcClient
      • 部署集
      • 标签
      • 预留实例券
      • 套餐
      • 操作日志
      • 初始化
      • 安装SDK工具包
      • 概述
    • JAVA_SDK
      • 地域
      • 预留实例券
    • Golang_SDK
      • 实例
      • 地域
      • 镜像
      • 部署集
      • 标签
      • 预留实例券
      • 套餐
      • 操作日志
      • 初始化
      • 安装SDK工具包
      • 概述
    • Python3_SDK
      • 实例
      • 地域
      • 镜像
      • BbcClient
      • 部署集
      • 标签
      • 预留实例券
      • 套餐
      • 操作日志
      • 初始化
      • 安装SDK工具包
      • 概述
所有文档
menu
没有找到结果,请重新输入

弹性裸金属服务器 BBC

  • 快速入门
  • 功能发布记录
  • 产品描述
    • 介绍
    • 优势
    • 产品型号
    • 地域及可用区
    • 应用场景
  • 典型实践
    • 使用Terraform管理BBC最佳实践
  • 操作指南
    • 监控
    • 标签
    • 网络
      • 辅助IP设置
      • 子网设置
    • 镜像
      • 镜像概述
      • 镜像服务协议
      • Windows镜像使用须知
      • Linux镜像使用须知
      • 自定义镜像
        • 删除自定义镜像
        • 自定义镜像概述
        • 创建自定义镜像
    • 标签
      • 标签高级功能
      • 标签配置
      • 标签管理概述
    • 存储
      • 实例分区
      • 存储概述
      • RAID配置
    • 服务组件
      • HAS-agent组件安装与升级
    • 实例
      • 重启实例
      • 实例概述
      • 重置密码
      • 重装实例
      • 启动实例
      • 续费实例
      • 停止实例
      • 释放实例
      • 实例生命周期
      • 查看实例
      • 回收实例
      • 登录实例
        • 登录Windows实例
        • 登录Linux实例
      • 创建实例
        • 通过自定义镜像创建实例
        • 通过购买页创建实例
    • 安全
      • 密钥对
        • 创建密钥对
  • 服务等级协议SLA
    • 百度智能云弹性裸金属服务器可信云
    • BBC服务等级协议SLA(V2.0)
  • API参考
    • 镜像相关接口
    • 简介
    • 套餐相关接口
    • 实例相关接口
    • 附录
    • 标签相关接口
    • 功能更新记录
    • 地域相关接口
    • 操作日志相关接口
    • 预留实例券相关接口
      • 预留实例券绑定标签
      • 预留实例券解绑标签
  • 常见问题
    • 使用类问题
  • 产品定价
    • 计费说明
    • 自动续费
  • SDK
    • Python_SDK
      • 实例
      • 地域
      • 镜像
      • BbcClient
      • 部署集
      • 标签
      • 预留实例券
      • 套餐
      • 操作日志
      • 初始化
      • 安装SDK工具包
      • 概述
    • JAVA_SDK
      • 地域
      • 预留实例券
    • Golang_SDK
      • 实例
      • 地域
      • 镜像
      • 部署集
      • 标签
      • 预留实例券
      • 套餐
      • 操作日志
      • 初始化
      • 安装SDK工具包
      • 概述
    • Python3_SDK
      • 实例
      • 地域
      • 镜像
      • BbcClient
      • 部署集
      • 标签
      • 预留实例券
      • 套餐
      • 操作日志
      • 初始化
      • 安装SDK工具包
      • 概述
  • 文档中心
  • arrow
  • 弹性裸金属服务器BBC
  • arrow
  • SDK
  • arrow
  • Golang_SDK
  • arrow
  • 实例
本页目录
  • 创建实例
  • 查询实例列表
  • 查询实例详情
  • 启动实例
  • 停止实例
  • 重启实例
  • 修改实例名称
  • 修改实例描述
  • 重装实例
  • 释放实例
  • 修改实例密码
  • 查询实例VPC/Subnet信息

实例

更新时间:2025-08-20

BBC实例是百度云上的物理服务器操作实例,也是计费、权限控制等高级功能的管理实体。

创建实例

使用以下代码可以创建一个物理机实例:

Go
1createInstanceArgs := &CreateInstanceArgs{
2    // 输入你选择的flavor(套餐)ID,通过SDK获取可用flavor id的方法详见套餐章节
3    FlavorId:         "your-choose-flavor-id",
4    // 输入你要创建instance使用的镜像ID,通过SDK获取可用镜像ID的方法详见镜像章节
5    ImageId:          "your-choose-image-id",
6    // 输入你要创建instance使用的raid ID,通过SDK获取可用raid id的方法详见套餐章节
7    RaidId:           "your-choose-raid-id",
8    // 输入待创建物理磁盘的大小,单位为GB,缺省为20
9    RootDiskSizeInGb: 20,
10    // 批量创建(购买)的虚拟机实例个数,必须为大于0的整数,可选参数,缺省为1
11    PurchaseCount:    1,
12    // 可用区,格式为:国家-区域-可用区,如'中国-北京-可用区A'就是'cn-bj-a'
13    ZoneName:         "cn-bj-a",
14    // 指定子网 ID,必填参数
15    SubnetId:         "your-choose-subnet-id",
16    // 指定安全组id,可选参数
17    SecurityGroupId:  "your-choose-security-group-id"
18    // 使用 uuid 生成一个长度不超过64位的ASCII字符串
19    ClientToken:      "random-uuid",
20    // 选择付费方式
21    Billing: Billing{
22        PaymentTiming: PaymentTimingPostPaid,
23        Reservation: Reservation{
24            Length: 1,
25            TimeUnit: "Month",
26        },
27    },
28    // 创建需要绑定标签
29    Tags: []model.TagModel{
30        {
31            TagKey:   "tag1",
32            TagValue: "var1",
33        },
34    },
35    // 指定使用的部署集id,可选参数,通过SDK获取可用部署集id的方法详见部署集章节
36    DeploySetId: "your-choose-raid-id",
37    // 设置实例管理员密码(8-16位字符,英文,数字和符号必须同时存在,符号仅限!@#$%^*())
38    AdminPass:   "your-admin-pass",
39    // 实例名称
40    Name:        "your-choose-instance-name",
41}
42if res, err := bbcClient.CreateInstance(createInstanceArgs); err != nil {
43    fmt.Println("create instance failed: ", err)
44} else {
45    fmt.Println("create instance success, instanceId: ", res.InstanceIds[0])
46}

注意:

付费方式(PaymentTiming)可选:

  • 后付费: PaymentTimingPostPaid
  • 预付费: PaymentTimingPrePaid

查询实例列表

使用以下代码查询所有BBC实例的列表及详情信息:

Go
1listArgs := &ListInstancesArgs{
2    // 批量获取列表的查询起始位置,是一个由系统产生的字符串
3    Marker: "your-marker",
4    // 设置返回数据大小,缺省为1000
5    MaxKeys: 100,
6    // 通过internal Ip过滤BBC列表
7    InternalIp: "your-choose-internal-ip",
8}
9if res, err := bbcClient.ListInstances(listArgs); err != nil {
10    fmt.Println("list instances failed: ", err)
11} else {
12    fmt.Println("list instances success, result: ", res)
13}

查询实例详情

使用以下代码可以查询指定BBC实例的详细信息:

Go
1// 设置你要操作的instanceId
2instanceId := "your-choose-instance-id"
3if res, err := bbcClient.GetInstanceDetail(instanceId); err != nil {
4    fmt.Println("get instance detail failed: ", err)
5} else {
6    fmt.Println("get instance detail success, result: ", res)
7}

启动实例

使用以下代码可以启动指定BBC实例,实例状态必须为 Stopped,调用此接口才可以成功返回,否则提示409错误:

Go
1// 设置你要操作的instanceId
2instanceId := "your-choose-instance-id"
3if err := bbcClient.StartInstance(instanceId); err != nil {
4    fmt.Println("start instance failed: ", err)
5} else {
6    fmt.Println("start instance success.")
7}

停止实例

使用以下代码可以停止指定BBC实例,只有状态为 Running 的实例才可以进行此操作,否则提示 409 错误:

Go
1// 设置你要操作的instanceId
2instanceId := "your-choose-instance-id"
3// 是否强制停止实例,为True代表强制停止
4forceStop := true
5if err := bbcClient.StopInstance(instanceId, forceStop); err != nil {
6    fmt.Println("stop instance failed: ", err)
7} else {
8    fmt.Println("stop instance success.")
9}

重启实例

使用以下代码可以重启指定BBC实例,只有状态为 Running 的实例才可以进行此操作,否则提示 409 错误:

Go
1// 设置你要操作的instanceId
2instanceId := "your-choose-instance-id"
3// 是否强制停止实例,为True代表强制停止
4forceStop := true
5if err := bbcClient.RebootInstance(instanceId, forceStop); err != nil {
6    fmt.Println("reboot instance failed: ", err)
7} else {
8    fmt.Println("reboot instance success.")
9}

修改实例名称

使用以下代码可以修改指定BBC实例的名称:

Go
1modifyInstanceNameArgs := &ModifyInstanceNameArgs{
2    Name: "new_bbc_name",
3}
4// 设置你要操作的instanceId
5instanceId := "your-choose-instance-id"
6if err := bbcClient.ModifyInstanceName(instanceId, modifyInstanceNameArgs); err != nil {
7    fmt.Println("modify instance name failed: ", err)
8} else {
9    fmt.Println("modify instance name success.")
10}

修改实例描述

使用以下代码可以修改指定BBC实例的描述:

Go
1modifyInstanceDescArgs := &ModifyInstanceDescArgs{
2    Description: "new_bbc_description",
3}
4// 设置你要操作的instanceId
5instanceId := "your-choose-instance-id"
6if err := bbcClient.ModifyInstanceDesc(instanceId, modifyInstanceDescArgs); err != nil {
7    fmt.Println("modify instance desc failed: ", err)
8} else {
9    fmt.Println("modify instance desc success.")
10}

重装实例

使用以下代码可以使用镜像重建指定BBC实例:

Go
1rebuildArgs := &RebuildInstanceArgs{
2    // 设置使用的镜像id
3    ImageId:        "your-choose-image-id",
4    // 设置管理员密码
5    AdminPass:      "your-new-admin-pass",
6    // 是否保留数据。当该值为true时,raidId和sysRootSize字段不生效
7    IsPreserveData: false,
8    // 此参数在isPreserveData为false时为必填,在isPreserveData为true时不生效
9    RaidId:         "your_raid_id",
10    // 系统盘根分区大小,默认为20G,取值范围为20-100。此参数在isPreserveData为true时不生效
11    SysRootSize: 20,
12}
13// 设置你要操作的instanceId
14instanceId := "your-choose-instance-id"
15// 设置是否保留数据
16isPreserveData = false
17if err := bbcClient.RebuildInstance(instanceId, isPreserveData, rebuildArgs); err != nil {
18    fmt.Println("rebuild instance failed: ", err)
19} else {
20    fmt.Println("rebuild instance success.")
21}

注意:

IsPreserveData表示是否保留数据:

  • 当IsPreserveData设置为 false 时,RaidId 和 SysRootSize 是必填参数
  • 当IsPreserveData设置为 true 时,RaidId 和 SysRootSize 参数不生效

释放实例

对于后付费Postpaid以及预付费Prepaid过期的BBC实例,可以使用以下代码将其释放:

Go
1// 设置你要操作的instanceId
2instanceId := "your-choose-instance-id"
3if err := bbcClient.ReleaseInstance(instanceId); err != nil {
4    fmt.Println("release instance failed: ", err)
5} else {
6    fmt.Println("release instance success.")
7}

修改实例密码

使用以下代码可以修改指定BBC实例的管理员密码:

Go
1modifyInstancePasswordArgs := &ModifyInstancePasswordArgs{
2    AdminPass: "your_new_password",
3}
4// 设置你要操作的instanceId
5instanceId := "your-choose-instance-id"
6if err := bbcClient.ModifyInstancePassword(instanceId, modifyInstancePasswordArgs); err != nil {
7    fmt.Println("modify instance password failed: ", err)
8} else {
9    fmt.Println("modify instance password success.")
10}

注意:

BBC 实例密码要求:

  • 8-16位字符,英文,数字和符号必须同时存在,符号仅限!@#$%^*()

查询实例VPC/Subnet信息

使用以下代码可以通过BBC实例id查询VPC/Subnet信息:

Go
1// 设置你要操作的instanceId
2instanceId := "your-choose-instance-id"
3getVpcSubnetArgs := &GetVpcSubnetArgs{
4    BbcIds: []string{instanceId},
5}
6if res, err := bbcClient.GetVpcSubnet(getVpcSubnetArgs); err != nil {
7    fmt.Println("get vpc subnet failed: ", err)
8} else {
9    fmt.Println("get vpc subnet success. res: ", res)
10}

上一篇
JAVA_SDK
下一篇
地域