Docs 菜单
Docs 主页
/
MongoDB Atlas
/ / /

从 Go HTTP 客户端迁移到 Atlas Go SDK

使用本指南从GoGoHTTP HTTP客户端( go-client- MongoDBMongoDB -atlas )迁移到Atlas GoAtlasGo SDK (MongoDB MongoDB /atlas-sdk-go )。

go-client-mongodb-atlas 已弃用,且不会收到主要功能更新。我们强烈建议迁移到 Atlas Go SDK 了解最新更改。您也可以同时使用这两个库来进行部分迁移。

AtlasGoSDK (MongoDB /atlas-sdk-go )基于Atlas AdminAPI V2 。AtlasGoSDK 将版本化API API作为Go 方法公开,从而简化了版本化 的复杂性。主要 SDK 版本只能在Atlas Admin API端点的一小部分子集中引入重大更改。

Atlas Go SDK 不依赖已弃用的 go-client-mongodb-atlas 。它改变了 API 请求的发出方式,但最大限度地减少了最终用户所需的更改。

Atlas Go SDK 有不同的方法来初始化客户端:

// Surrounding code ignored for brevity
sdk, err := admin.NewClient(
// Authentication using ApiKey and ApiSecret
admin.UseDigestAuth(apiKey, apiSecret))

注意:已弃用的 go-client-mongodb-atlas Atlas Go SDK 使用基于摘要式的身份验证。同样的凭证也适用。

要学习;了解更多信息,请参阅使用Atlas Go SDK 进行身份验证。

错误处理要求开发者使用专用方法将错误转换为 API 错误对象:

// Surrounding code omitted for brevity
apiErr, _ := admin.AsError(err)
log.Fatalf("Error when performing SDK request: %v", apiErr.GetDetail())

要了解更多信息,请参阅错误处理。

Atlas Go SDK 更改了 API 接口,以将 API 与其他方法区分开来。

每个 API 方法都有一个 API 后缀。 例如:

sdk.Projects 现在将 sdk.ProjectsApi

现在,每个方法都会解释创建的对象。 例如:

sdk.Projects.create() 将成为 sdk.ProjectsApi.createProject(...)

要了解更多信息,请参阅 端点文档。

模型名称和属性采用 PascalCase 格式,以使方法和字段名称清晰且可预测。 例如, ClusterAWSProviderSettings现在将变为ClusterAwsProviderSettings

这同样适用于属性名称。 例如, ID字段将变为Id等。

Atlas Go SDK 提高了请求和响应对象的清晰度。 对于端点接受多种格式的有效负载(多态性)的情况,您可以指定要用于特定请求的 API 模型的实例。 例如,在创建集群时,您可以使用专用的 RegionConfigs 对象(AWSRegionConfig、GCPRegionConfig 等)之一:

// Surrounding code omitted for brevity
RegionConfig{
// Dedicated region config for AWS cloud
AWSRegionConfig: &mongodbatlas.AWSRegionConfig{
//AWS-specific fields are here
RegionName: &regionName,
},
}

后退

Error Handling