Felsöka felet: "Det går inte att nå Körmiljö för Azure Functions"

Den här artikeln hjälper dig att felsöka följande felsträng som visas i Azure-portalen:

"Fel: Azure Functions Runtime kan inte nås. Klicka här om du vill ha mer information om lagringskonfigurationen."

Det här problemet uppstår när Functions-körningen inte kan starta. Den vanligaste orsaken till detta är att funktionsappen har förlorat åtkomsten till sitt lagringskonto. Mer information finns i Krav för lagringskonto.

Resten av den här artikeln hjälper dig att felsöka specifika orsaker till det här felet, inklusive hur du identifierar och löser varje ärende.

Lagringskontot har tagits bort

Varje funktionsapp kräver ett lagringskonto för att fungera. Om kontot tas bort fungerar inte funktionerna.

Börja med att leta upp lagringskontots namn i programinställningarna. Antingen AzureWebJobsStorage eller WEBSITE_CONTENTAZUREFILECONNECTIONSTRING innehåller namnet på ditt lagringskonto som en del av en anslutningssträng. Mer information finns i Referens för appinställningar för Azure Functions.

Sök efter ditt lagringskonto i Azure-portalen för att se om det fortfarande finns. Om det har tagits bort skapar du lagringskontot igen och ersätter ditt anslutningssträng. Funktionskoden går förlorad och du måste distribuera om den.

Programinställningarna för lagringskontot har tagits bort

I föregående steg, om du inte hittar ett lagringskonto anslutningssträng, togs det förmodligen bort eller skrevs över. Borttagning av programinställningar sker oftast när du använder distributionsplatser eller Azure Resource Manager-skript för att ange programinställningar.

Nödvändiga programinställningar

Mer information finns i Referens för appinställningar för Azure Functions.

Vägledning

  • Kontrollera inte platsinställningen för någon av de här inställningarna. Om du byter distributionsplatser bryts funktionsappen.
  • Ändra inte de här inställningarna som en del av automatiserade distributioner.
  • De här inställningarna måste anges och vara giltiga när de skapas. En automatiserad distribution som inte innehåller de här inställningarna resulterar i en funktionsapp som inte körs, även om inställningarna läggs till senare.

Autentiseringsuppgifterna för lagringskontot är ogiltiga

Det tidigare diskuterade lagringskontot anslutningssträng måste uppdateras om du återskapar lagringsnycklar. Mer information om hantering av lagringsnycklar finns i Skapa ett Azure Storage-konto.

Lagringskontot är inte tillgängligt

Din funktionsapp måste kunna komma åt lagringskontot. Vanliga problem som blockerar en funktionsapps åtkomst till ett lagringskonto:

Den dagliga körningskvoten är full

Om du har konfigurerat en daglig körningskvot inaktiveras funktionsappen tillfälligt, vilket gör att många av portalkontrollerna blir otillgängliga.

Om du vill verifiera kvoten i Azure-portalen väljer du Funktionsapp för plattformsfunktioner>Inställningar i funktionsappen. Om du överskrider den dagliga användningskvot som du har angett visas följande meddelande:

"Funktionsappen har nått den dagliga användningskvoten och har stoppats fram till tidsramen på 24 timmar."

Lös problemet genom att ta bort eller öka den dagliga kvoten och sedan starta om appen. Annars blockeras körningen av appen till nästa dag.

Appen är bakom en brandvägg

Funktionsappen kan inte nås av någon av följande orsaker:

Azure-portalen anropar direkt till appen som körs för att hämta listan över funktioner och gör HTTP-anrop till Kudu-slutpunkten. Inställningar på plattformsnivå under fliken Plattformsfunktioner är fortfarande tillgängliga.

Så här verifierar du DIN ASE-konfiguration:

  1. Gå till nätverkssäkerhetsgruppen (NSG) för det undernät där ASE finns.
  2. Verifiera reglerna för inkommande trafik för att tillåta trafik som kommer från den offentliga IP-adressen för den dator där du har åtkomst till programmet.

Du kan också använda portalen från en dator som är ansluten till det virtuella nätverk som kör din app eller till en virtuell dator som körs i ditt virtuella nätverk.

Mer information om konfiguration av inkommande regler finns i avsnittet "Nätverkssäkerhetsgrupper" i Nätverksöverväganden för en App Service-miljön.

Containerfel i Linux

För funktionsappar som körs på Linux i en container Azure Functions runtime is unreachable kan felet inträffa till följd av problem med containern. Använd följande procedur för att granska containerloggarna efter fel:

  1. Navigera till Kudu-slutpunkten för funktionsappen, som finns på , där <FUNCTION_APP> är namnet på https://<FUNCTION_APP>.scm.azurewebsites.netdin app.

  2. Ladda ned Docker-loggarna .zip-filen och granska innehållet på den lokala datorn.

  3. Kontrollera om det finns loggade fel som anger att containern inte kan startas.

Containeravbildningen är inte tillgänglig

Fel kan inträffa när containeravbildningen som refereras inte är tillgänglig eller inte startar korrekt. Kontrollera om det finns loggade fel som anger att containern inte kan startas.

Du måste korrigera eventuella fel som hindrar containern från att starta för funktionsappen korrekt.

När containeravbildningen inte kan hittas visas ett manifest unknown fel i Docker-loggarna. I det här fallet kan du använda Azure CLI-kommandona som dokumenteras i Så här riktar du in dig på Azure Functions-körningsversioner för att ändra containeravbildningen som refereras till. Om du har distribuerat en anpassad containeravbildning måste du åtgärda avbildningen och distribuera om den uppdaterade versionen till det refererade registret.

Appcontainern har portar i konflikt

Funktionsappen kan vara i ett tillstånd som inte svarar på grund av en porttilldelning som är i konflikt vid start. Detta kan inträffa i följande fall:

  • Containern har separata tjänster som körs där en eller flera tjänster binder till samma port som funktionsappen.
  • Du har lagt till en Azure Hybrid-Anslut ion som delar samma portvärde som funktionsappen.

Som standard använder containern där funktionsappen körs port :80. När andra tjänster i samma container också försöker använda porten :80kan funktionsappen inte starta. Om dina loggar visar portkonflikter ändrar du standardportarna.

Kollision med värd-ID

Från och med version 3.x av Functions-körningen identifieras och loggas värd-ID-kollisionen som en varning. I version 4.x loggas ett fel och värden stoppas. Om körningen inte kan starta för funktionsappen granskar du loggarna. Om det finns en varning eller ett fel om kollisioner med värd-ID följer du åtgärdsstegen i Överväganden för värd-ID.

Skrivskyddade appinställningar

Om du ändrar skrivskyddade App Service-programinställningar kan funktionsappen hamna i ett tillstånd som inte kan nås.

åsidosättningar för ASP.NET autentisering

Gäller endast för C#-appar som körs i processen med Functions-värden.

Att konfigurera ASP.NET autentisering i en Functions-startklass kan åsidosätta tjänster som krävs för att Azure-portalen ska kunna kommunicera med värden. Detta inkluderar, men är inte begränsat till, några anrop till AddAuthentication(). Om värdens autentiseringstjänster är åsidosatta och portalen inte kan kommunicera med värden, anser den att appen inte kan nås. Det här problemet kan leda till fel som: No authentication handler is registered for the scheme 'ArmToken'..

Nästa steg

Lär dig mer om att övervaka dina funktionsappar: