Azure Cosmos DB Data Explorer 無法連線
有時候,Azure Cosmos DB Data Explorer 無法連線到您的帳戶,或對資源或專案執行作業。 本文會檢閱此問題的潛在原因和解決方案。
重要事項
適用於 PostgreSQL 的 API 或虛擬核心的 API 無法使用 Azure Cosmos DB Data Explorer。
必要條件
適用於 NoSQL、MongoDB RU、Apache Cassandra、Apache Gremlin 或數據表帳戶的現有 Azure Cosmos DB
徵狀
即使啟用 [允許從 Azure 入口網站存取] 選項,您還是無法連線到 Data Explorer。
原因
即使在您設定正確的角色型訪問控制和入口網站許可權之後,還是必須根據您選取的 API 來設定額外的網路存取需求。
某些服務,例如 NoSQL 的 API、Apache Gremlin 的 API 和數據表的 API,會使用用戶端 JavaScript SDK 來執行作業,而且需要一組解決方案。
其他服務,例如適用於 MongoDB RU 的 API 和 Apache Cassandra 的 API,會使用通訊協定特定的中間件,而且需要替代解決方案。
適用於 NoSQL、Apache Gremlin 或數據表的 API 解決方案
資料庫、容器、圖表和數據表 (控制平面) 作業是透過使用 Azure Cosmos DB 資源提供者呼叫 Azure Resource Manager 控制平面來執行。 您的網路設定不會影響這些作業。
數據平面 (專案) 作業會在瀏覽器的內容中使用 JavaScript SDK 來執行。 您目前使用的裝置必須具有帳戶的直接網路存取權。
針對使用公用存 取 (所有網路) 設定的帳戶,數據平面作業不應有任何與網路相關的連線問題。
針對已設定公用存 取權 (選取網路) 的帳戶,您必須建立防火牆規則,以允許從目前裝置存取帳戶。 Azure 入口網站 服務頁面中的 [網络功能] 具有 [新增我目前的IP (...) 可自動新增IP位址的超連結。
如果帳戶沒有防火牆規則,Data Explorer 會擲回可在 Data Explorer 通知中觀察到的錯誤。 此錯誤訊息包含類似下列範例的文字:
API 錯誤 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.
針對已停用公用存 取的帳戶,您的裝置必須連線至具有帳戶連線能力的虛擬網路,數據平面作業才能運作。
適用於 MongoDB RU 或 Apache Cassandra 的 API 解決方案
分別檢閱控制平面和數據平面解決方案。
資料庫、keyspace 和集合 (控制平面) 作業是透過使用 Azure Cosmos DB 資源提供者呼叫 Azure Resource Manager 控制平面來執行。 您的網路設定不會影響這些作業。
數據平面 (專案) 作業是使用 API 中間件中的 Proxy 服務來執行。 此服務有助於在專案作業和查詢中使用服務原生 (MongoDB、Cassandra) 通訊協定。 Proxy 服務需要帳戶的直接網路存取權。
針對使用公用存 取 (所有網路) 設定的帳戶,數據平面作業不應有任何與網路相關的連線問題。
針對已設定公用存取 (所選網路) 的帳戶,您必須在 Azure 入口網站 中服務頁面的 [網络功能] 中,選取 [允許從 Azure 入口網站存取]。 此選項會新增包含中間件服務的IP位址範圍。 您 不需要 新增目前裝置的IP位址。
如果帳戶沒有防火牆規則,Data Explorer 會擲回可在瀏覽器開發人員工具中觀察到的錯誤。 此錯誤訊息包含中間件服務所產生的泛型
Error querying documents
或Failed to establish connection with cassandra node
訊息。 展開的錯誤訊息會包含在計算網關記錄中,如下列範例所示:Request originated from IP XXX.XXX.XXX.XXX through public internet. This is blocked by your Cosmos DB account firewall settings.