Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Migrar del cliente HTTP de Go al Atlas Go SDK

Usa esta guía para migrar desde el cliente HTTP de Go ( go-cliente-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 SDK de Atlas Go no depende del obsoleto go-client-mongodb-atlas. Cambia la forma en que se realizan las solicitudes de API, pero minimiza los cambios necesarios para los usuarios finales.

El SDK Atlas Go 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 aprender más, Autenticación con el SDK Atlas Go.

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 modelo y las propiedades se formatean en formato PascalCase para mayor claridad y previsibilidad de los métodos y nombres de campo. Por ejemplo, ClusterAWSProviderSettings se convertirá ahora 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,
},
}

Volver

Error Handling