Impossible de se connecter à l’Data Explorer Azure Cosmos DB

Parfois, le Data Explorer Azure Cosmos DB ne peut pas se connecter à votre compte ou effectuer des opérations sur des ressources ou des éléments. Cet article passe en revue les causes potentielles et les solutions à ce problème.

Importante

Le Data Explorer Azure Cosmos DB n’est pas disponible pour l’API pour PostgreSQL ou l’API pour vCore.

Configuration requise

Un compte Azure Cosmos DB for NoSQL, MongoDB RU, Apache Cassandra, Apache Gremlin ou Table existant

Symptômes

Vous ne parvenez pas à vous connecter au Data Explorer même après avoir activé l’option Autoriser l’accès à partir du portail Azure.

Cause

Même après avoir configuré le contrôle d’accès en fonction du rôle et les autorisations de portail appropriés, il existe des exigences d’accès réseau supplémentaires qui doivent être configurées en fonction de l’API sélectionnée.

  • Certains services, tels que l’API pour NoSQL, l’API pour Apache Gremlin et l’API pour Table, utilisent un SDK JavaScript côté client pour effectuer des opérations et nécessitent un ensemble de solutions.

  • D’autres services, tels que l’API pour mongoDB RU et l’API pour Apache Cassandra, utilisent un intergiciel spécifique au protocole et nécessitent une autre solution.

Solution pour l’API pour NoSQL, Apache Gremlin ou Table

Les opérations de base de données, de conteneur, de graphique et de table (plan de contrôle) sont exécutées via des appels au plan de contrôle Azure Resource Manager à l’aide du fournisseur de ressources Azure Cosmos DB. Votre configuration réseau n’affecte pas ces opérations.

Les opérations d’élément (plan de données) sont exécutées à l’aide du Kit de développement logiciel (SDK) JavaScript dans le contexte de votre navigateur. L’appareil que vous utilisez actuellement doit disposer d’un accès réseau direct au compte.

  • Pour les comptes configurés avec un accès public (tous les réseaux), les opérations de plan de données ne doivent pas avoir de problèmes de connectivité réseau.

  • Pour les comptes configurés avec un accès public (réseaux sélectionnés), vous devez créer une règle de pare-feu pour autoriser l’accès au compte à partir de votre appareil actuel. La fonctionnalité Mise en réseau dans la page du service dans le Portail Azure comporte un lien hypertexte Ajouter mon adresse IP actuelle (...) qui peut ajouter automatiquement votre adresse IP.

  • Si le compte n’a pas de règle de pare-feu, la Data Explorer génère une erreur qui peut être observée dans les notifications pour Data Explorer. Ce message d’erreur contient du texte similaire aux exemples suivants :

    API Erreur
    Nosql Request originated from IP XXX.XXX.XXX.XXX through public internet. This is blocked by your Cosmos DB account firewall settings.
    Apache Gremlin Failure in submitting query: g.V(): Request originated from IP XXX.XXX.XXX.XXX through public internet. This is blocked by your Cosmos DB account firewall settings.
    Tableau Error while refreshing databases: Request originated from IP XXX.XXX.XXX.XXX through public internet. This is blocked by your Cosmos DB account firewall settings.
  • Pour les comptes configurés avec l’accès public désactivé, votre appareil doit être connecté à un réseau virtuel avec une connectivité au compte pour que les opérations de plan de données fonctionnent.

Solution pour l’API pour ru MongoDB ou Apache Cassandra

Passez en revue les solutions de plan de contrôle et de plan de données, respectivement.

Les opérations de base de données, d’espace de clés et de collection (plan de contrôle) sont exécutées via des appels au plan de contrôle Azure Resource Manager à l’aide du fournisseur de ressources Azure Cosmos DB. Votre configuration réseau n’affecte pas ces opérations.

Les opérations d’élément (plan de données) sont exécutées à l’aide d’un service proxy dans le middleware de l’API. Ce service facilite l’utilisation du protocole natif de service (MongoDB, Cassandra) dans les opérations et requêtes d’élément. Le service proxy nécessite un accès réseau direct au compte.

  • Pour les comptes configurés avec un accès public (tous les réseaux), les opérations de plan de données ne doivent pas avoir de problèmes de connectivité réseau.

  • Pour les comptes configurés avec un accès public (réseaux sélectionnés), vous devez sélectionner Autoriser l’accès à partir du portail Azure dans la fonctionnalité Mise en réseau de la page du service dans le Portail Azure. Cette option ajoute une plage d’adresses IP qui incluent le service middleware. Vous n’avez pas besoin d’ajouter l’adresse IP de votre appareil actuel.

  • Si le compte n’a pas de règle de pare-feu, la Data Explorer génère une erreur qui peut être observée dans les outils de développement du navigateur. Ce message d’erreur contient un message générique Error querying documents ou Failed to establish connection with cassandra node généré par le service d’intergiciel (middleware). Le message d’erreur développé est inclus dans les journaux de la passerelle de calcul, comme dans l’exemple suivant :

    Request originated from IP XXX.XXX.XXX.XXX through public internet. This is blocked by your Cosmos DB account firewall settings.