Nie można nawiązać połączenia z usługą Azure Cosmos DB Data Explorer

Czasami Data Explorer usługi Azure Cosmos DB nie może nawiązać połączenia z kontem ani wykonywać operacji względem zasobów lub elementów. W tym artykule przedstawiono potencjalne przyczyny i rozwiązania tego problemu.

Ważna

Data Explorer usługi Azure Cosmos DB nie jest dostępny dla interfejsu API dla bazy danych PostgreSQL ani interfejsu API dla rdzeni wirtualnych.

Wymagania wstępne

Istniejące konto usługi Azure Cosmos DB for NoSQL, MongoDB RU, Apache Cassandra, Apache Gremlin lub Table

Symptomy

Nie możesz nawiązać połączenia z Data Explorer nawet po włączeniu opcji Zezwalaj na dostęp z witryny Azure Portal.

Przyczyna

Nawet po skonfigurowaniu prawidłowej kontroli dostępu opartej na rolach i uprawnień portalu istnieją dodatkowe wymagania dotyczące dostępu do sieci, które należy skonfigurować na podstawie wybranego interfejsu API.

  • Niektóre usługi, takie jak interfejs API noSQL, interfejs API dla platformy Apache Gremlin i interfejs API for Table, używają zestawu JavaScript SDK po stronie klienta do wykonywania operacji i wymagają jednego zestawu rozwiązań.

  • Inne usługi, takie jak interfejs API dla jednostek RU bazy danych MongoDB i interfejs API dla usługi Apache Cassandra, używają oprogramowania pośredniczącego specyficznego dla protokołu i wymagają alternatywnego rozwiązania.

Rozwiązanie dla interfejsu API dla języka NoSQL, apache Gremlin lub tabeli

Operacje bazy danych, kontenera, wykresu i tabeli (płaszczyzny sterowania) są wykonywane za pośrednictwem wywołań do płaszczyzny sterowania usługi Azure Resource Manager przy użyciu dostawcy zasobów usługi Azure Cosmos DB. Konfiguracja sieci nie ma wpływu na te operacje.

Operacje elementu (płaszczyzny danych) są wykonywane przy użyciu zestawu JavaScript SDK w kontekście przeglądarki. Aktualnie używane urządzenie musi mieć bezpośredni dostęp sieciowy do konta.

  • W przypadku kont skonfigurowanych z dostępem publicznym (wszystkie sieci) operacje płaszczyzny danych nie powinny mieć żadnych problemów z łącznością związaną z siecią.

  • W przypadku kont skonfigurowanych z dostępem publicznym (wybranymi sieciami) należy utworzyć regułę zapory, aby zezwolić na dostęp do konta z bieżącego urządzenia. Funkcja Sieć na stronie usługi w Azure Portal ma hiperłącze Dodaj mój bieżący adres IP (...), które może automatycznie dodać twój adres IP.

  • Jeśli konto nie ma reguły zapory, Data Explorer zgłasza błąd, który można zaobserwować w powiadomieniach o Data Explorer. Ten komunikat o błędzie zawiera tekst podobny do następujących przykładów:

    API Error
    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.
    Tabela 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.
  • W przypadku kont skonfigurowanych z wyłączonym dostępem publicznym urządzenie musi być połączone z siecią wirtualną z łącznością z kontem, aby operacje płaszczyzny danych działały.

Rozwiązanie dla interfejsu API dla jednostek RU bazy danych MongoDB lub Apache Cassandra

Przejrzyj odpowiednio rozwiązania płaszczyzny sterowania i płaszczyzny danych.

Operacje bazy danych, przestrzeni kluczy i kolekcji (płaszczyzny sterowania) są wykonywane za pośrednictwem wywołań do płaszczyzny sterowania usługi Azure Resource Manager przy użyciu dostawcy zasobów usługi Azure Cosmos DB. Konfiguracja sieci nie ma wpływu na te operacje.

Operacje elementu (płaszczyzny danych) są wykonywane przy użyciu usługi serwera proxy w oprogramowania pośredniczącego interfejsu API. Ta usługa ułatwia korzystanie z protokołu natywnego dla usługi (MongoDB, Cassandra) w operacjach elementów i zapytaniach. Usługa serwera proxy wymaga bezpośredniego dostępu sieciowego do konta.

  • W przypadku kont skonfigurowanych z dostępem publicznym (wszystkie sieci) operacje płaszczyzny danych nie powinny mieć żadnych problemów z łącznością związaną z siecią.

  • W przypadku kont skonfigurowanych z dostępem publicznym (wybranymi sieciami) należy wybrać pozycję Zezwalaj na dostęp z witryny Azure Portal w funkcji Sieć na stronie usługi w Azure Portal. Ta opcja dodaje zakres adresów IP, które obejmują usługę oprogramowania pośredniczącego. Nie musisz dodawać adresu IP bieżącego urządzenia.

  • Jeśli konto nie ma reguły zapory, Data Explorer zgłasza błąd, który można zaobserwować w narzędziach deweloperskich przeglądarki. Ten komunikat o błędzie zawiera ogólny Error querying documents lub Failed to establish connection with cassandra node komunikat wygenerowany przez usługę oprogramowania pośredniczącego. Rozszerzony komunikat o błędzie jest uwzględniony w dziennikach bramy obliczeniowej, podobnie jak w następującym przykładzie:

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