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 à rede ao seu cluster do Atlas a partir do Azure Functions.
Conecte-se ao Atlas cluster por meio de rede privada usando umaconexão de peering de rede entre o Atlas cluster e o Azure Functions ou, alternativamente, um endpoint privado, para que você possa permitir apenas endereços IP privados da sua 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 utiliza rede privada, considere se conectar ao seu cluster do Atlas utilizando um gateway NAT. Confira 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 nas 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.