Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Migrar del cliente HTTP de Go al Atlas Go SDK

Utiliza esta guía para migrar del cliente HTTP de Go ( go-client-mongodb-atlas ) al Atlas Go SDK ( mongodb/atlas-sdk-go ).

El go-client-mongodb-atlas ha quedado obsoleto y no recibe actualizaciones importantes de funcionalidades. Recomendamos encarecidamente migrar al Atlas Go SDK para los últimos cambios. También puedes migrar parcialmente usando ambas librerías al mismo tiempo.

El Atlas Go SDK ( mongodb/atlas-sdk-go ) se basa en la API administrativa de Atlas V2. El Go SDK de Atlas simplifica la complejidad de la API versionada al exponerla como métodos Golang. Los grandes lanzamientos del SDK sólo pueden introducir cambios disruptivos en un pequeño subconjunto de los endpoints de la API de administración de Atlas.

El Atlas Go SDK no depende de la versión obsoleta go-client-mongodb-atlas. Cambia la forma en que se realizan las solicitudes de API, pero minimiza los cambios requeridos para los usuarios finales.

El Go SDK de Atlas tiene diferentes métodos para la inicialización de los clientes:

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

Nota: Tanto el go-client-mongodb-atlas obsoleto como el Atlas Go SDK utilizan la autenticación basada en Digest. Se aplican las mismas credenciales.

Para obtener más información, consulta Autenticación con el Atlas Go SDK.

El manejo de errores requiere que los desarrolladores utilicen métodos dedicados para convertir errores en objetos de error de la API:

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

Para obtener más información, consulta Manejo de errores.

El Atlas Go SDK cambia la interfaz de la API para diferenciar las API de otros métodos.

Cada método API tiene un sufijo API. Por ejemplo:

sdk.Projects ahora sdk.ProjectsApi

Cada método ahora explica el objeto que se crea. Por ejemplo:

sdk.Projects.create() se convertirá en sdk.ProjectsApi.createProject(...)

Para aprender más, consulta la documentación de Endpoint.

Los nombres de modelos y las propiedades se formatean en formato PascalCase por claridad y previsibilidad de los métodos y los nombres de campos. Por ejemplo, ClusterAWSProviderSettings ahora se convertirá en ClusterAwsProviderSettings.

Lo mismo aplica para los nombres de las propiedades. Por ejemplo, los campos ID se convertirán en Id, etc.

El SDK Atlas Go mejora la claridad de los objetos de solicitud y respuesta. En situaciones en las que el punto final acepta varios formatos de carga útil (polimorfismo), puedes especificar instancias de los modelos de API que deseas utilizar para una solicitud en particular. Por ejemplo, al crear un clúster puedes utilizar uno de los objetos dedicados RegionConfigs (AWSRegionConfig, GCPRegionConfig, etc.):

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