このガイドを使用して、 Go HTTPクライアント( go-client-MongoDB-atlas )から Atlas Go SDK( MongoDB/atlas-sdk-go )に移行します。
go-client-mongodb-atlas は非推奨であり、メジャー機能のアップデートは受信されません。最新の変更については、Atlas Go SDK に移行することを強くお勧めします。両方のライブラリを同時に使用して部分的に移行することもできます。
バックグラウンド
The Atlas Go SDK ( MongoDB/atlas-sdk-go )は、Atlas Admin API V2 に基づいています。Atlas Go SDK は、バージョン管理されたAPI をGoメソッドとして公開することで、バージョン管理されたAPIの複雑さを簡素化します。 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 はどちらも ダイジェストベースの認証を使用しています。同じ認証情報が適用されます。
Error Handling
エラー処理では、開発者は API エラー オブジェクトにエラーをスローするための専用メソッドを使用する必要があります。
// Surrounding code omitted for brevity apiErr, _ := admin.AsError(err) log.Fatalf("Error when performing SDK request: %v", apiErr.GetDetail())
詳細については、「エラー処理 」を参照してください。
API インターフェイスの形式
Atlas Go SDK は、API を他のメソッドと区別するために API インターフェイスを変更します。
各 API メソッドには API サフィックスがあります。 例:
sdk.Projects は、次のようになります sdk.ProjectsApi
各メソッドは、作成されるオブジェクトを説明するようになりました。 例:
sdk.Projects.create() は になります sdk.ProjectsApi.createProject(...)
詳細については、エンドポイントのドキュメントを参照してください。
SDK メソッドの異なる命名規則
モデル名とプロパティは、メソッドとフィールド名の明確性と予測しやすくするためにパスカルケース形式でフォーマットされます。 たとえば、 ClusterAWSProviderSettingsはClusterAwsProviderSettingsになります。
プロパティ名にも同じが適用されます。 たとえば、 IDフィールドはIdなどになります。
リクエスト ボディ オブジェクト作成時の複数の選択
Atlas Go SDK は、リクエスト オブジェクトと応答オブジェクトの明確性を向上させます。 エンドポイントが複数の形式のペイロード(多形)を受け入れる場合は、特定のリクエストに使用する API モデルのインスタンスを指定できます。 たとえば、クラスターを作成するときに、専用の regionConfigs オブジェクト(AWSRegionConfig、GCPRegionConfig など)の 1 つを使用できます。
// Surrounding code omitted for brevity RegionConfig{ // Dedicated region config for AWS cloud AWSRegionConfig: &mongodbatlas.AWSRegionConfig{ //AWS-specific fields are here RegionName: ®ionName, }, }