初始化

云数据库 DocDB for MongoDB MONGODB

  • 功能发布记录
  • 产品描述
    • 实例规格
    • 产品特性
    • 系统架构
    • 应用场景
    • 产品术语
    • 概述
  • 重要通知
    • 品牌升级
  • 快速入门
    • 副本集实例快速入门
    • 分片集实例快速入门
  • 典型实践
    • MongoDB数据迁移典型实践
    • MongoDB数据安全典型实践
    • MongoDB监控报警典型实践
    • 如何连接副本集实例实现读写分离和高可用
    • MongoDB使用典型实践
    • MongoDB参数配置典型实践
  • 操作指南
    • 开通服务
    • 参数配置
      • 参数说明
      • 参数修改记录查询
      • 查询参数
      • 修改参数
    • 日志管理
      • 查询运行日志
      • 审计日志
        • 关闭审计日志
        • 开通审计日志
        • 查询审计日志
      • 慢日志
        • 查询慢日志
        • 关闭慢日志
        • 开通慢日志
      • 错误日志
        • 关闭错误日志
        • 开通错误日志
        • 查询错误日志
    • 监控与报警
      • 设置报警规则
      • 监控项说明
      • 查看监控信息
    • 公网访问
      • 释放公网访问
      • 申请公网访问
    • 实例管理
      • 重启实例
      • 迁移可用区
      • 回收站和释放实例
      • 改配实例
        • 改配分片集实例
        • 改配副本集实例
        • 改配方案概览
      • 创建实例
        • 创建副本集实例
        • 创建分片集实例
    • 数据安全
      • 透明加密
      • 使用Mongo Shell通过SSL加密连接数据库
      • 设置SSL加密
      • 白名单管理
    • 连接实例
      • 通过MongoShell连接分片集实例
      • 通过公网连接MongoDB实例
      • 通过MongoShell连接副本集实例
      • 通过程序代码连接MongoDB实例
    • 数据备份
      • 开启增量备份
      • 设置自动备份MongoDB数据
      • MongoDB数据备份方案概览
      • 手动备份MongoDB数据
    • 同城容灾
      • 创建多可用区分片集群实例
      • 创建多可用区副本集群实例
    • 帐号管理
      • 多用户访问控制
      • 重置密码
    • 主从切换
      • 副本集实例设置主从切换
      • 分片集设置主从切换
    • 计费管理
      • 手动续费包年包月实例
      • 预付费转后付费
      • 后付费转预付费
      • 开通或关闭自动续费包年包月实例
      • 取消预付费转后付费
    • 标签管理
      • 绑定已有标签
      • 新建标签
      • 根据标签筛选实例
      • 解绑删除标签
    • 数据恢复
      • 物理备份恢复至自建数据库
      • 按时间点恢复至新实例
      • 逻辑备份恢复至自建数据库
      • MongoDB数据恢复方案概览
      • 从备份点创建实例
  • 服务等级协议SLA
    • 服务等级协议SLA
  • API参考
    • 其他接口说明
    • 调用说明
    • 附录
    • API简介
    • 按时间点恢复相关接口
      • 获取可恢复的时间区间
    • 权限管理相关接口
      • 查看用户数据库列表
      • 创建用户数据库
      • 查看用户列表
      • 删除用户
      • 删除用户数据库
      • 更新用户权限
      • 创建用户
    • 备份相关接口
      • 更改备份策略
      • 创建备份
      • 查询备份列表
      • 更改备份备注
      • 查询备份策略
      • 查询备份详情
      • 删除备份
    • 日志管理相关接口
      • 开通运行日志
      • 查询运行日志列表
    • 实例相关接口
      • 副本集实例添加只读节点
      • 重启实例
      • 迁移可用区
      • 修改账号密码
      • 重启分片集实例组件
      • 分片集实例组件改配
      • 更改实例名称
      • 回收站和释放实例
      • 副本集实例改配
      • 分片集实例组件主从切换
      • 获取只读节点列表
      • 更改分片集实例组件名称
      • 查询实例列表
      • 新增分片集实例组件
      • 计费停服和启动服务
      • 副本集实例主从切换
      • 创建副本集实例
      • 创建分片集实例
      • 查询实例详情
    • 白名单相关接口
      • 删除白名单
      • 查询白名单
      • 添加白名单
  • 常见问题
    • 产品使用问题
    • 运维类问题
    • 常见问题总览
  • 产品定价
    • 计费变更
    • 产品定价
  • SDK
    • GO-SDK
      • 标签管理
      • 日志管理
      • 白名单管理
      • 初始化
      • 实例管理
      • 备份管理
      • 安装SDK工具包
      • 概述
所有文档
menu
没有找到结果,请重新输入

云数据库 DocDB for MongoDB MONGODB

  • 功能发布记录
  • 产品描述
    • 实例规格
    • 产品特性
    • 系统架构
    • 应用场景
    • 产品术语
    • 概述
  • 重要通知
    • 品牌升级
  • 快速入门
    • 副本集实例快速入门
    • 分片集实例快速入门
  • 典型实践
    • MongoDB数据迁移典型实践
    • MongoDB数据安全典型实践
    • MongoDB监控报警典型实践
    • 如何连接副本集实例实现读写分离和高可用
    • MongoDB使用典型实践
    • MongoDB参数配置典型实践
  • 操作指南
    • 开通服务
    • 参数配置
      • 参数说明
      • 参数修改记录查询
      • 查询参数
      • 修改参数
    • 日志管理
      • 查询运行日志
      • 审计日志
        • 关闭审计日志
        • 开通审计日志
        • 查询审计日志
      • 慢日志
        • 查询慢日志
        • 关闭慢日志
        • 开通慢日志
      • 错误日志
        • 关闭错误日志
        • 开通错误日志
        • 查询错误日志
    • 监控与报警
      • 设置报警规则
      • 监控项说明
      • 查看监控信息
    • 公网访问
      • 释放公网访问
      • 申请公网访问
    • 实例管理
      • 重启实例
      • 迁移可用区
      • 回收站和释放实例
      • 改配实例
        • 改配分片集实例
        • 改配副本集实例
        • 改配方案概览
      • 创建实例
        • 创建副本集实例
        • 创建分片集实例
    • 数据安全
      • 透明加密
      • 使用Mongo Shell通过SSL加密连接数据库
      • 设置SSL加密
      • 白名单管理
    • 连接实例
      • 通过MongoShell连接分片集实例
      • 通过公网连接MongoDB实例
      • 通过MongoShell连接副本集实例
      • 通过程序代码连接MongoDB实例
    • 数据备份
      • 开启增量备份
      • 设置自动备份MongoDB数据
      • MongoDB数据备份方案概览
      • 手动备份MongoDB数据
    • 同城容灾
      • 创建多可用区分片集群实例
      • 创建多可用区副本集群实例
    • 帐号管理
      • 多用户访问控制
      • 重置密码
    • 主从切换
      • 副本集实例设置主从切换
      • 分片集设置主从切换
    • 计费管理
      • 手动续费包年包月实例
      • 预付费转后付费
      • 后付费转预付费
      • 开通或关闭自动续费包年包月实例
      • 取消预付费转后付费
    • 标签管理
      • 绑定已有标签
      • 新建标签
      • 根据标签筛选实例
      • 解绑删除标签
    • 数据恢复
      • 物理备份恢复至自建数据库
      • 按时间点恢复至新实例
      • 逻辑备份恢复至自建数据库
      • MongoDB数据恢复方案概览
      • 从备份点创建实例
  • 服务等级协议SLA
    • 服务等级协议SLA
  • API参考
    • 其他接口说明
    • 调用说明
    • 附录
    • API简介
    • 按时间点恢复相关接口
      • 获取可恢复的时间区间
    • 权限管理相关接口
      • 查看用户数据库列表
      • 创建用户数据库
      • 查看用户列表
      • 删除用户
      • 删除用户数据库
      • 更新用户权限
      • 创建用户
    • 备份相关接口
      • 更改备份策略
      • 创建备份
      • 查询备份列表
      • 更改备份备注
      • 查询备份策略
      • 查询备份详情
      • 删除备份
    • 日志管理相关接口
      • 开通运行日志
      • 查询运行日志列表
    • 实例相关接口
      • 副本集实例添加只读节点
      • 重启实例
      • 迁移可用区
      • 修改账号密码
      • 重启分片集实例组件
      • 分片集实例组件改配
      • 更改实例名称
      • 回收站和释放实例
      • 副本集实例改配
      • 分片集实例组件主从切换
      • 获取只读节点列表
      • 更改分片集实例组件名称
      • 查询实例列表
      • 新增分片集实例组件
      • 计费停服和启动服务
      • 副本集实例主从切换
      • 创建副本集实例
      • 创建分片集实例
      • 查询实例详情
    • 白名单相关接口
      • 删除白名单
      • 查询白名单
      • 添加白名单
  • 常见问题
    • 产品使用问题
    • 运维类问题
    • 常见问题总览
  • 产品定价
    • 计费变更
    • 产品定价
  • SDK
    • GO-SDK
      • 标签管理
      • 日志管理
      • 白名单管理
      • 初始化
      • 实例管理
      • 备份管理
      • 安装SDK工具包
      • 概述
  • 文档中心
  • arrow
  • 云数据库 DocDB for MongoDBMONGODB
  • arrow
  • SDK
  • arrow
  • GO-SDK
  • arrow
  • 初始化
本页目录
  • 确认Endpoint
  • 获取密钥
  • 新建MongoDB Client
  • 使用AK/SK新建MongoDB Client
  • 使用STS创建MongoDB Client
  • 配置MongoDB Client
  • 使用代理
  • 设置网络参数
  • 配置生成签名字符串选项

初始化

更新时间:2025-08-21

确认Endpoint

使用SDK时需要配置Endpoint。百度云目前开放了多区域支持,请参考区域选择说明。

目前MongoDB产品支持以下区域:

访问区域 对应Endpoint 协议
北京 mongodb.bj.baidubce.com HTTP and HTTPS
保定 mongodb.bd.baidubce.com HTTP and HTTPS
广州 mongodb.gz.baidubce.com HTTP and HTTPS
苏州 mongodb.su.baidubce.com HTTP and HTTPS
武汉 mongodb.fwh.baidubce.com HTTP and HTTPS
成都 mongodb.cd.baidubce.com HTTP and HTTPS

获取密钥

要使用百度云MongoDB,您需要拥有一个有效的AK(Access Key ID)和SK(Secret Access Key)用来进行签名认证。AK/SK是由系统分配给用户的,均为字符串,用于标识用户,为访问MongoDB做签名验证。

可以通过如下步骤获得并了解您的AK/SK信息:

注册百度云账号

创建AK/SK

新建MongoDB Client

MongoDB Client是MongoDB服务的客户端,为开发者与MongoDB服务进行交互提供了一系列的方法。

使用AK/SK新建MongoDB Client

通过AK/SK方式访问MongoDB,用户可以参考如下代码新建一个MongoDB Client:

Go
1import (
2	"fmt"
3	"github.com/baidubce/bce-sdk-go/services/mongodb"
4)
5
6func main() {
7	// 用户的Access Key ID和Secret Access Key
8	ACCESS_KEY_ID, SECRET_ACCESS_KEY := <your-access-key-id>, <your-secret-access-key>
9
10	// 用户指定的Endpoint
11	ENDPOINT := <domain-name>
12
13	// 初始化一个Client
14	mongodbClient, err := mongodb.NewClient(ACCESS_KEY_ID, SECRET_ACCESS_KEY, ENDPOINT)
15	if err != nil {
16		fmt.Println(err)
17		return
18	}
19	fmt.Println(mongodbClient.Config.Endpoint)
20}

在上面代码中,ACCESS_KEY_ID对应控制台中的“Access Key ID”,SECRET_ACCESS_KEY对应控制台中的“Access Key Secret”,获取方式请参考《操作指南 如何获取AKSK》。第三个参数ENDPOINT支持用户自己指定域名,如果设置为空字符串,会使用默认域名作为MongoDB的服务地址。

注意:ENDPOINT参数需要用指定区域的域名来进行定义,如服务所在区域为北京,则为mongodb.bj.baidubce.com。

使用STS创建MongoDB Client

申请STS token

MongoDB可以通过STS机制实现第三方的临时授权访问。STS(Security Token Service)是百度云提供的临时授权服务。通过STS,您可以为第三方用户颁发一个自定义时效和权限的访问凭证。第三方用户可以使用该访问凭证直接调用百度云的API或SDK访问百度云资源。

通过STS方式访问MongoDB,用户需要先通过STS的client申请一个认证字符串。

用STS token新建MongoDB Client

申请好STS后,可将STS Token配置到MongoDB Client中,从而实现通过STS Token创建MongoDB Client。

代码示例

GO SDK实现了STS服务的接口,用户可以参考如下完整代码,实现申请STS Token和创建MongoDB Client对象:

Go
1import (
2	"fmt"
3
4	"github.com/baidubce/bce-sdk-go/auth"
5	"github.com/baidubce/bce-sdk-go/services/mongodb"
6	"github.com/baidubce/bce-sdk-go/services/sts"
7)
8
9func main() {
10	// 创建STS服务的Client对象,Endpoint使用默认值
11	AK, SK := <your-access-key-id>, <your-secret-access-key>
12    // 用户指定的Endpoint
13	ENDPOINT := "mongodb.gz.baidubce.com"
14	stsClient, err := sts.NewClient(AK, SK)
15	if err != nil {
16		fmt.Println("create sts client object :", err)
17		return
18	}
19
20	// 获取临时认证token,有效期为60秒,ACL为空
21	stsObj, err := stsClient.GetSessionToken(60, "")
22	if err != nil {
23		fmt.Println("get session token failed:", err)
24		return
25    }
26	fmt.Println("GetSessionToken result:")
27	fmt.Println("  accessKeyId:", stsObj.AccessKeyId)
28	fmt.Println("  secretAccessKey:", stsObj.SecretAccessKey)
29	fmt.Println("  sessionToken:", stsObj.SessionToken)
30	fmt.Println("  createTime:", stsObj.CreateTime)
31	fmt.Println("  expiration:", stsObj.Expiration)
32	fmt.Println("  userId:", stsObj.UserId)
33
34	// 初始化一个Client
35	mongodbClient, err := mongodb.NewClient(stsObj.AccessKeyId, stsObj.SecretAccessKey, ENDPOINT)
36	if err != nil {
37		fmt.Println(err)
38		return
39	}
40	stsCredential, err := auth.NewSessionBceCredentials(
41		stsObj.AccessKeyId,
42		stsObj.SecretAccessKey,
43		stsObj.SessionToken)
44	if err != nil {
45		fmt.Println("create sts credential object failed:", err)
46		return
47	}
48	mongodbClient.Config.Credentials = stsCredential
49}

注意: 目前使用STS配置MongoDB Client时,无论对应MongoDB服务的Endpoint在哪里,STS的Endpoint都需配置为http://sts.bj.baidubce.com 。上述代码中创建STS对象时使用此默认值。

配置HTTPS协议访问MongoDB

MongoDB支持HTTPS传输协议,您可以通过在创建MongoDB Client对象时指定的Endpoint中指明HTTPS的方式,在MongoDB GO SDK中使用HTTPS访问MongoDB服务:

Go
1// import "github.com/baidubce/bce-sdk-go/services/mongodb"
2
3ENDPOINT := "https://mongodb.bj.baidubce.com" //指明使用HTTPS协议
4AK, SK := <your-access-key-id>, <your-secret-access-key>
5mongodbClient, _ := mongodb.NewClient(AK, SK, ENDPOINT)

配置MongoDB Client

如果用户需要配置MongoDB Client的一些细节的参数,可以在创建MongoDB Client对象之后,使用该对象的导出字段Config进行自定义配置,可以为客户端配置代理,最大连接数等参数。

使用代理

下面一段代码可以让客户端使用代理访问MongoDB服务:

Go
1// import "github.com/baidubce/bce-sdk-go/services/mongodb"
2
3//创建MongoDB Client对象
4AK, SK := <your-access-key-id>, <your-secret-access-key>
5ENDPOINT := "mongodb.bj.baidubce.com"
6client, _ := mongodb.NewClient(AK, SK, ENDPOINT)
7
8//代理使用本地的8080端口
9client.Config.ProxyUrl = "127.0.0.1:8080"

设置网络参数

用户可以通过如下的示例代码进行网络参数的设置:

Go
1// import "github.com/baidubce/bce-sdk-go/services/mongodb"
2
3AK, SK := <your-access-key-id>, <your-secret-access-key>
4ENDPOINT := "mongodb.bj.baidubce.com"
5client, _ := mongodb.NewClient(AK, SK, ENDPOINT)
6
7// 配置不进行重试,默认为Back Off重试
8client.Config.Retry = bce.NewNoRetryPolicy()
9
10// 配置连接超时时间为30秒
11client.Config.ConnectionTimeoutInMillis = 30 * 1000

配置生成签名字符串选项

Go
1// import "github.com/baidubce/bce-sdk-go/services/mongodb"
2
3AK, SK := <your-access-key-id>, <your-secret-access-key>
4ENDPOINT := "mongodb.bj.baidubce.com"
5client, _ := mongodb.NewClient(AK, SK, ENDPOINT)
6
7// 配置签名使用的HTTP请求头为`Host`
8headersToSign := map[string]struct{}{"Host": struct{}{}}
9client.Config.SignOption.HeadersToSign = headersToSign
10
11// 配置签名的有效期为30秒
12client.Config.SignOption.ExpireSeconds = 30

参数说明

用户使用GO SDK访问MongoDB时,创建的MongoDB Client对象的Config字段支持的所有参数如下表所示:

配置项名称 类型 含义
Endpoint string 请求服务的域名
ProxyUrl string 客户端请求的代理地址
Region string 请求资源的区域
UserAgent string 用户名称,HTTP请求的User-Agent头
Credentials *auth.BceCredentials 请求的鉴权对象,分为普通AK/SK与STS两种
SignOption *auth.SignOptions 认证字符串签名选项
Retry RetryPolicy 连接重试策略
ConnectionTimeoutInMillis int 连接超时时间,单位毫秒,默认20分钟

说明:

  1. Credentials字段使用auth.NewBceCredentials与auth.NewSessionBceCredentials函数创建,默认使用前者,后者为使用STS鉴权时使用,详见“使用STS创建MongoDB Client”小节。
  2. SignOption字段为生成签名字符串时的选项,详见下表说明:
名称 类型 含义
HeadersToSign map[string]struct{} 生成签名字符串时使用的HTTP头
Timestamp int64 生成的签名字符串中使用的时间戳,默认使用请求发送时的值
ExpireSeconds int 签名字符串的有效期
Plain Text
1 其中,HeadersToSign默认为`Host`,`Content-Type`,`Content-Length`,`Content-MD5`;TimeStamp一般为零值,表示使用调用生成认证字符串时的时间戳,用户一般不应该明确指定该字段的值;ExpireSeconds默认为1800秒即30分钟。
  1. Retry字段指定重试策略,目前支持两种:NoRetryPolicy和BackOffRetryPolicy。默认使用后者,该重试策略是指定最大重试次数、最长重试时间和重试基数,按照重试基数乘以2的指数级增长的方式进行重试,直到达到最大重试测试或者最长重试时间为止。

上一篇
白名单管理
下一篇
实例管理