Condividi tramite


Connettersi ad Azure DocumentDB tramite il portale di Azure

MongoDB Shell (mongosh) è un ambiente JavaScript e Node.js per interagire con le distribuzioni mongoDB. Si tratta di uno strumento comune della community per testare le query e interagire con i dati nel cluster Di Azure DocumentDB. Il portale di Azure contiene più strumenti per eseguire query sui dati di MongoDB, tra cui Azure Cloud Shell. Azure Cloud Shell è un terminale interattivo, autenticato e accessibile dal browser per la gestione delle risorse di Azure. Questo articolo illustra come connettersi a un cluster di Azure DocumentDB usando MongoDB Shell in Azure Cloud Shell.

Prerequisiti

  • Una sottoscrizione di Azure

  • Un cluster Di Azure DocumentDB esistente

  • Regole del firewall che consentono ai client all'interno delle reti di connettersi al cluster. Per altre informazioni, vedere Configurare il firewall.

  • (Facoltativo) Questi prerequisiti sono necessari solo se si usa Azure Cloud Shell all'interno di una rete virtuale uguale o con peering con Azure DocumentDB.

    • Una o più reti virtuali di Azure esistenti con subnet per La distribuzione di Azure Cloud Shell e Azure DocumentDB.

    • Endpoint privato per il cluster Azure DocumentDB. Per altre informazioni, vedere Configurare un collegamento privato.

    • Azure Cloud Shell distribuito nella stessa rete virtuale o in una rete virtuale associata tramite peering, con connettività all'endpoint privato di Azure DocumentDB. Per altre informazioni, vedere Distribuire Cloud Shell nella rete virtuale.

Abilitare l'accesso al cluster da Azure Cloud Shell

Assicurarsi prima di tutto che Azure Cloud Shell possa accedere al cluster Azure DocumentDB consentendo i relativi indirizzi IP nel firewall.

  1. Accedere al portale di Azure (https://portal.azure.com).

  2. Passare al cluster Azure DocumentDB.

  3. Selezionare Rete dal menu di navigazione.

  4. Nella pagina Rete all'interno della sezione Accesso pubblico selezionare l'opzione + Aggiungi indirizzi IP di Azure Cloud Shell per aggiungere automaticamente l'indirizzo IP corrente all'elenco consentito.

  5. Selezionare Salva per applicare le modifiche.

Annotazioni

Per garantire la connettività, assicurarsi che siano consentiti gli indirizzi IP specifici per l'area. Per altre informazioni, vedere Indirizzi IP per Azure DocumentDB.

Connettersi con Azure Cloud Shell da Avvio rapido

Per connettersi direttamente ad Azure DocumentDB usando MongoDB Shell, usare l'esperienza di avvio rapido disponibile nella pagina della risorsa nel portale di Azure.

  1. Nella pagina della risorsa cluster, selezionare Avvio rapido (anteprima) dal menu di navigazione.

  2. Selezionare quindi Open MongoDB shell (Apri shell MongoDB).

  3. Attendere l'avvio dell'ambiente shell mongoDB.

  4. Quando l'ambiente è pronto, immettere Y per accettare l'avviso.

    Annotazioni

    Se si verifica un problema durante la connessione tramite MongoDB Shell dopo aver accettato l'avviso, assicurarsi che Azure Cloud Shell abbia accesso al cluster.

  5. Immettere ora la password per connettere il cluster a Cloud Shell.

Ottenere le credenziali del cluster

Ottenere la stringa di connessione necessaria per connettersi a questo cluster.

  1. Accedere al portale di Azure (https://portal.azure.com).

  2. Passare al cluster Azure DocumentDB esistente.

Ottenere le credenziali usate per connettersi al cluster.

  1. Nella pagina del cluster selezionare l'opzione Stringhe di connessione nel menu della risorsa.

  2. Nella sezione Stringhe di connessione copiare o registrare il valore dal campo Stringa di connessione .

Screenshot che mostra l'opzione delle stringhe di connessione.

Importante

La stringa di connessione nel portale non include il valore della password. È necessario sostituire il <password> segnaposto con le credenziali immesse al momento della creazione del cluster o immettere la password in modo interattivo.

Configurare manualmente la shell di MongoDB in Azure Cloud Shell

Installare il client MongoDB Shell (mongosh) nell'istanza di Azure Cloud Shell usando Node Package Manager (npm).

  1. Aprire Azure Cloud Shell configurato con un ambiente di script Bash.

  2. Installare la versione 1 della shell di MongoDB in locale nella directory utente.

    npm install mongosh@1
    
  3. Attendere il completamento dell'installazione.

  4. Verificare che l'installazione sia riuscita ottenendo la versione dello mongosh strumento.

    npx mongosh --version
    

Connettersi al cluster

Connettersi al cluster usando la shell mongoDB con una stringa di connessione che non include una password. Usare il prompt interattivo della password per immettere la password come parte dei passaggi di connessione.

  1. Connettersi immettendo la password nel prompt della shell mongoDB. Per questo passaggio, usare una stringa di connessione senza la password.

    npx mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
    
  2. Dopo aver specificato la password e aver completato l'autenticazione, osservare l'avviso visualizzato.

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

    Suggerimento

    È possibile ignorare questo avviso. Questo avviso viene generato perché la stringa di connessione contiene cosmos.azure. Azure DocumentDB è un'offerta PaaS (Platform as a Service) nativa di Azure.

Eseguire query di test

Verificare di essere connessi correttamente al cluster eseguendo una serie di comandi e query di test.

  1. Controllare lo stato della connessione eseguendo il connectionStatus comando .

    db.runCommand({connectionStatus: 1})
    
    {
      ...
      ok: 1
    }
    
  2. Elencare i database nel cluster.

    show dbs
    
  3. Passare a un database specifico. Sostituire il <database-name> segnaposto con il nome di qualsiasi database nel cluster.

    use <database-name>
    

    Suggerimento

    Ad esempio, se il nome del database è inventory, il comando sarà use inventory.

  4. Elencare le raccolte all'interno del database.

    show collections
    
  5. Trovare i primi cinque elementi all'interno di una raccolta specifica. Sostituire il segnaposto <collection-name> con il nome di una raccolta nel cluster.

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

    Suggerimento

    Ad esempio, se il nome della raccolta è equipment, il comando sarà db.equipment.find().limit(5).