Data Explorer do Azure Cosmos DB falha ao se conectar

Ocasionalmente, o Azure Cosmos DB Data Explorer não consegue se conectar à sua conta nem executar operações com recursos ou itens. Este artigo analisa possíveis causas e soluções para esse problema.

Importante

O Data Explorer do Azure Cosmos DB não está disponível para a API para PostgreSQL ou a API para vCore.

Pré-requisitos

Uma conta existente do Azure Cosmos DB for NoSQL, MongoDB RU, Apache Cassandra, Apache Gremlin ou Table

Sintomas

Você não consegue se conectar ao Data Explorer mesmo depois de habilitar a opção Permitir acesso do Portal do Azure.

Motivo

Mesmo depois de configurar o controle de acesso baseado em função e as permissões de portal corretas, há requisitos extras de acesso à rede que devem ser configurados com base na API selecionada.

  • Alguns serviços, como a API para NoSQL, API para Apache Gremlin e API para Tabela, usam um SDK JavaScript do lado do cliente para executar operações e exigir um conjunto de soluções.

  • Outros serviços, como a API do MongoDB RU e a API para Apache Cassandra, usam middleware específico do protocolo e exigem uma solução alternativa.

Solução para a API para NoSQL, Apache Gremlin ou Tabela

As operações banco de dados, contêiner, grafo e tabela (plano de controle) são executadas por meio de chamadas para o plano de controle do Azure Resource Manager usando o provedor de recursos do Azure Cosmos DB. Sua configuração de rede não afeta essas operações.

As operações de item (plano de dados) são executadas usando o SDK do JavaScript no contexto do navegador. O dispositivo que você está usando no momento deve ter acesso direto à rede à conta.

  • Para contas configuradas com acesso público (todas as redes), as operações de plano de dados não devem ter problemas de conectividade relacionados à rede.

  • Para contas configuradas com acesso público (redes selecionadas), você deve criar uma regra de firewall para permitir o acesso à conta do dispositivo atual. O recurso Rede na página do serviço no portal do Azure tem um hiperlink Adicionar meu IP atual (...) que pode adicionar automaticamente seu endereço IP.

  • Se a conta não tiver uma regra de firewall, o Data Explorer gerará um erro que pode ser observado nas notificações para Data Explorer. Esta mensagem de erro contém texto semelhante aos seguintes exemplos:

    API Erro
    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.
    Table 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.
  • Para contas configuradas com acesso público desabilitado, seu dispositivo deve estar conectado a uma rede virtual com conectividade com a conta para que as operações do plano de dados funcionem.

Solução para a API do MongoDB RU ou Apache Cassandra

Examine as soluções do plano de controle e do plano de dados, respectivamente.

As operações banco de dados, keyspace e coleção (plano de controle) são executadas por meio de chamadas para o plano de controle do Azure Resource Manager usando o provedor de recursos do Azure Cosmos DB. Sua configuração de rede não afeta essas operações.

As operações de item (plano de dados) são executadas usando um serviço proxy no middleware da API. Esse serviço facilita o uso do protocolo nativo de serviço (MongoDB, Cassandra) em operações de item e consultas. O serviço proxy requer acesso direto à rede à conta.

  • Para contas configuradas com acesso público (todas as redes), as operações de plano de dados não devem ter problemas de conectividade relacionados à rede.

  • Para contas configuradas com acesso público (redes selecionadas), você deve selecionar Permitir Acesso no Portal do Azure no recurso Rede da página do serviço no portal do Azure. Essa opção adiciona um intervalo de endereços IP que incluem o serviço de middleware. Você não precisa adicionar o endereço IP do dispositivo atual.

  • Se a conta não tiver uma regra de firewall, o Data Explorer gerará um erro que pode ser observado nas ferramentas de desenvolvedor do navegador. Essa mensagem de erro contém uma mensagem genérica Error querying documents ou Failed to establish connection with cassandra node gerada pelo serviço de middleware. A mensagem de erro expandida está incluída nos logs de gateway de computação, semelhante ao exemplo a seguir:

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