Dela via


Diagnostisera och felsöka undantag för Azure Cosmos DB Java v4 SDK-tjänsten som inte är tillgänglig

GÄLLER FÖR: NoSQL

Java v4 SDK kunde inte ansluta till Azure Cosmos DB.

Felsökningsanvisningar

Följande lista innehåller kända orsaker och lösningar för undantag som inte är tillgängliga för tjänsten.

De portar som krävs blockeras

Kontrollera att alla nödvändiga portar är aktiverade. Om kontot har konfigurerats med en privat slutpunkt måste fler portar öppnas.

failed to establish connection to {account name}.documents.azure.com/<unresolved>:3044 due to io.netty.channel.ConnectTimeoutException:

Fel vid klientinitiering

Följande undantag utlöses om SDK:t inte kunde kommunicera med Azure Cosmos DB-instansen. Det här undantaget indikerar normalt vissa säkerhetsprotokoll som en brandväggsregel som blockerar begäranden.

 java.lang.RuntimeException: Client initialization failed. Check if the endpoint is reachable and if your auth token is valid

Om du vill verifiera att SDK:et kan kommunicera med Azure Cosmos DB-kontot kör du följande kommando från där programmet finns. Om det misslyckas pekar detta på en brandväggsregel eller en annan säkerhetsfunktion som blockerar begäran. Om det lyckas ska SDK:et kunna kommunicera med Azure Cosmos DB-kontot.

telnet myCosmosDbAccountName.documents.azure.com 443

Tillfälliga anslutningsproblem på klientsidan

Undantag som inte är tillgängliga för tjänsten kan uppstå när det finns tillfälliga anslutningsproblem som orsakar tidsgränser. Vanligtvis innehåller stackspårningen som är relaterad till det här scenariot en ServiceUnavailableException-felrapport med diagnostisk information. Till exempel:

Exception in thread "main" ServiceUnavailableException{userAgent=azsdk-java-cosmos/4.6.0 Linux/4.15.0-1096-azure JRE/11.0.8, error=null, resourceAddress='null', requestUri='null', statusCode=503, message=Service is currently unavailable, please retry after a while. If this problem persists please contact support.: Message: "" {"diagnostics"}

Följ felsökningsstegen för begärans timeout för att åtgärda problemet.

UnknownHostException

UnknownHostException innebär att Java-ramverket inte kan matcha DNS-posten för Azure Cosmos DB-slutpunkten på den berörda datorn. Du bör kontrollera att datorn kan matcha DNS-posten eller om du har någon anpassad DNS-matchningsprogramvara (till exempel VPN eller proxy eller en anpassad lösning), se till att den innehåller rätt konfiguration för DNS-slutpunkten som felet påstår inte kan lösas. Om felet är konstant kan du verifiera datorns DNS-matchning via ett curl kommando till slutpunkten som beskrivs i felet.

Tjänstavbrott

Kontrollera Azure-statusen för att se om det finns ett pågående problem.

Nästa steg