Partilhar via


Conectar ao Azure DocumentDB usando o portal do Azure

MongoDB Shell (mongosh) é um ambiente JavaScript e Node.js para interagir com implantações do MongoDB. É uma ferramenta comunitária popular para testar consultas e interagir com os dados no seu cluster Azure DocumentDB. O portal do Azure contém várias ferramentas para consultar dados do MongoDB, incluindo o Azure Cloud Shell. O Azure Cloud Shell é um terminal interativo, autenticado e acessível por navegador para gerenciar recursos do Azure. Este artigo explica como se ligar a um cluster Azure DocumentDB usando o MongoDB Shell dentro do Azure Cloud Shell.

Pré-requisitos

  • Uma assinatura do Azure

    • Se você não tiver uma assinatura do Azure, crie uma conta gratuita
  • Um cluster do Azure DocumentDB existente

  • Regras de firewall que permitem que os clientes dentro de suas redes se conectem ao cluster. Para obter mais informações, consulte Configurar firewall.

  • (Opcional) Estes pré-requisitos só são obrigatórios se estiver a utilizar Azure Cloud Shell numa rede virtual que é a mesma ou emparelhada com Azure DocumentDB.

    • Uma ou mais redes virtuais Azure existentes com subredes para implementação do Azure Cloud Shell e do Azure DocumentDB.

    • Um endpoint privado para o cluster Azure DocumentDB. Para obter mais informações, consulte configurar link privado.

    • O Azure Cloud Shell foi implementado na mesma rede virtual ou numa rede virtual emparelhada, com conectividade ao endpoint privado do Azure DocumentDB. Para obter mais informações, consulte implantar o Cloud Shell na rede virtual.

Habilite o acesso ao seu cluster a partir do Azure Cloud Shell

Primeiro, certifique-se de que o Azure Cloud Shell pode aceder ao seu cluster Azure DocumentDB permitindo que os seus endereços IP estejam no firewall.

  1. Entre no portal do Azure (https://portal.azure.com).

  2. Navegue até ao cluster Azure DocumentDB.

  3. Selecione Rede no menu de navegação.

  4. Na página Rede na seção Acesso público , selecione a opção + Adicionar IPs do Azure Cloud Shell para adicionar automaticamente seu endereço IP atual à lista de permitidos.

  5. Selecione Guardar para aplicar as alterações.

Observação

Para garantir a conectividade, certifique-se de que os endereços IP específicos para a sua região são permitidos. Para mais informações, consulte endereços IP para Azure DocumentDB.

Conectar-se usando o Azure Cloud Shell a partir do Início Rápido

Para se ligar diretamente ao Azure DocumentDB usando o MongoDB Shell, utilize a experiência Quick Start disponível na página do recurso no portal Azure.

  1. Na página de recursos do cluster, selecione Início rápido (visualização) no menu de navegação.

  2. Depois, selecione Abrir shell do MongoDB.

  3. Aguarde até que o ambiente do MongoDB Shell seja iniciado.

  4. Quando o ambiente estiver pronto, digite Y para aceitar o aviso.

    Observação

    Se você estiver enfrentando um problema ao se conectar usando o MongoDB Shell depois de aceitar o aviso, verifique se o Azure Cloud Shell tem acesso ao cluster.

  5. Agora, digite sua senha para conectar seu cluster ao Cloud Shell.

Obter credenciais de cluster

Obtenha a cadeia de conexão necessária para se conectar a esse cluster.

  1. Iniciar sessão no portal Azure (https://portal.azure.com).

  2. Navegue até ao cluster existente do Azure DocumentDB.

Obtenha as credenciais que usa para se ligar ao cluster.

  1. Na página do cluster, selecione a opção Cadeias de Conexão no menu dos recursos.

  2. Na secção Strings de Ligação, copie ou grave o valor do campo String de Ligação.

Captura de ecrã mostrando a opção de cadeias de ligação.

Importante

A cadeia de conexão no portal não inclui o valor da senha. Você deve substituir o espaço reservado <password> pelas credenciais inseridas quando criou o cluster ou inserir a senha interativamente.

Configurar o MongoDB Shell no Azure Cloud Shell manualmente

Instale o cliente MongoDB Shell (mongosh) em sua instância do Azure Cloud Shell usando o Node Package Manager (npm).

  1. Abra o Azure Cloud Shell configurado com um ambiente de script Bash.

  2. Instale a versão 1 do MongoDB Shell localmente no diretório do usuário.

    npm install mongosh@1
    
  3. Aguarde a conclusão da instalação.

  4. Verifique se a instalação foi bem-sucedida obtendo a versão da mongosh ferramenta.

    npx mongosh --version
    

Ligar ao cluster

Conecte-se ao cluster usando o Shell do MongoDB com uma cadeia de conexão que não inclui uma senha. Use o prompt de senha interativo para inserir sua senha como parte das etapas de conexão.

  1. Conecte-se inserindo a senha no prompt do MongoDB Shell. Para esta etapa, use uma cadeia de conexão sem a senha.

    npx mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
    
  2. Depois de fornecer a palavra-passe e ser autenticado com sucesso, observe o aviso que aparece.

    ------
       Warning: Non-Genuine MongoDB Detected
       This server or service appears to be an emulation of MongoDB rather than an official MongoDB product.
    ------
    

    Sugestão

    Pode ignorar este aviso. Esse aviso é gerado porque a cadeia de conexão contém cosmos.azure. O Azure DocumentDB é uma plataforma nativa Azure como serviço (PaaS).

Executar consultas de teste

Verifique se você está conectado com êxito ao cluster executando uma série de comandos de teste e consultas.

  1. Verifique o status da conexão executando o connectionStatus comando.

    db.runCommand({connectionStatus: 1})
    
    {
      ...
      ok: 1
    }
    
  2. Liste os bancos de dados em seu cluster.

    show dbs
    
  3. Mude para um banco de dados específico. Substitua o marcador de posição <database-name> pelo nome de uma base de dados no seu cluster.

    use <database-name>
    

    Sugestão

    Por exemplo, se o nome do banco de dados for inventory, o comando será use inventory.

  4. Liste as coleções dentro do banco de dados.

    show collections
    
  5. Encontre os cinco primeiros itens de uma coleção específica. Substitua o marcador <collection-name> pelo nome de qualquer coleção no seu cluster.

    db.<collection-name>.find().limit(5)
    

    Sugestão

    Por exemplo, se o nome da coleção for equipment, o comando será db.equipment.find().limit(5).