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

Gestionar Conexiones con Azure Functions

Puedes usar Azure Functions con Atlas.

Use las siguientes mejores prácticas para gestionar adecuadamente las conexiones entre Azure Functions y Atlas:

  • Define el cliente para el servidor de MongoDB fuera del método Run de tu Controlador de función de Azure.

    No definas un nuevo objeto cliente cada vez que invoques tu función. Hacerlo provoca que el controlador cree una nueva conexión a la base de datos con cada llamada de función. Esto puede ser costoso y puede hacer que tu aplicación exceda los límites de conexión a la base de datos. Para obtener el mejor rendimiento, siga estas directrices:

    1. Cree el objeto cliente una vez.

    2. Almacena el objeto para que tu función pueda reutilizar el cliente entre invocaciones de la función.

    El Ejemplo de Conexión reutiliza las conexiones existentes a la base de datos para agilizar la comunicación con ésta y mantener el número de conexiones a la base de datos en un nivel razonable con respecto al tráfico de la aplicación.

  • Restringe el acceso a la red a tu clúster de Atlas desde tus funciones de Azure.

    Conéctate a tu clúster de Atlas a través de una red privada utilizando una conexión peering de red entre tu clúster de Atlas y Azure Functions, o, alternativamente, un nodo privado, para permitir solo direcciones IP privadas de tu lista de acceso IP.

    Nota

    Esta configuración requiere un Plan Premium de Azure Functions con una Integración con red virtual (VNet) configurada.

    Si no utilizas networking privado, considera conectarte a tu clúster de Atlas utilizando una gateway NAT. Revisa los cambios en la dirección IP saliente y las estrategias para garantizar direcciones IP salientes estáticas.

  • Establecer maxIdleTimeMS en 60000 para cerrar automáticamente las conexiones después de 1 minuto de inactividad. Ajustar maxIdleTimeMS puede ayudar a reducir la ocurrencia de errores de tiempo de espera en las funciones sin servidor.

El Ejemplo de Azure Functions en el repositorio mongodb-developer contiene un código de ejemplo que muestra cómo trabajar con el driver MongoDB C# y Azure Functions usando clústeres de Atlas.

Para obtener más información sobre cómo usar Azure Functions con Visual Studio Code, consulta Inicio rápido: crea una función de C# en Azure usando Visual Studio Code

Para obtener más información sobre cómo usar Azure Functions con Visual Studio, consulta Guía de inicio rápido: Crea tu primera función de C# en Azure con Visual Studio.