Gerenciar conexões com funções do Azure
Nesta página
Você pode usar o Azure Functions com Atlas.
Melhores práticas
Use as seguintes práticas recomendadas para gerenciar adequadamente as conexões entre o Azure Functions e Atlas:
Defina o cliente para o servidor MongoDB fora do
Run
método do manipulador de função do Azure.Não defina um novo objeto
MongoClient
sempre que invocar a sua função. Isso faz com que o driver crie uma nova conexão de banco de dados com cada chamada de função. Isso pode ser caro e resultar em um aplicativo que exceda os limites de conexão do banco de dados. Ao definir um novoMongoClient
, você deve:Crie uma vez o objeto
MongoClient
.Armazene o objeto para que sua função possa reutilizar o
MongoClient
em invocações de função.
O Exemplo de conexão reutiliza as conexões de banco de dados existentes para acelerar a comunicação com o banco de dados e manter as contagens de conexão com o banco de dados em um nível razoável em relação ao tráfego do aplicativo.
Restrinja o acesso de rede ao seu Atlas cluster a partir do Azure Functions.
Conecte-se ao Atlas cluster por rede privada usando uma conexão de emparelhamento de rede entre o cluster Atlas e as funções do Azure ou, alternativamente, um endpoint privado, para que você possa permitir apenas endereços IP privados da lista de acesso IP.
Observação
Esta configuração requer um plano premium do Azure Functions com uma integração de rede virtual (VNet) configurado.
Se você não usa redes privadas, considere conectar-se ao seu Atlas cluster usando um gateway NAT. Revise as alterações de endereço IP de saída e estratégias para garantir endereços IP de saída estáticos.
Defina maxIdleTimeMS como
60000
para fechar automaticamente suas conexões após 1 minuto de tempo ocioso. Ajustar seumaxIdleTimeMS
pode ajudar a reduzir a ocorrência de erros de tempo limite de suas funções sem servidor.
Exemplo de conexão
O exemplo do Azure Functions no mongodb-developer
repositório contém um código de exemplo que mostra como trabalhar com o driver C# do MongoDB e o Azure Functions usando Atlas clusters.
Para saber mais sobre como usar as funções do Azure com o Visual Studio Code, consulte Início rápido: Criar uma função C# no Azure usando o Visual Studio Code
Para saber mais sobre como usar o Azure Functions com o Visual Studio, consulte Início rápido: crie sua primeira função C# no Azure usando o Visual Studio.