Utveckla Azure Functions lokalt med core tools

Med Azure Functions Core Tools kan du utveckla och testa dina funktioner på den lokala datorn. När du är klar kan du också använda Core Tools för att distribuera kodprojektet till Azure och arbeta med programinställningar.

Du visar C#-versionen av den här artikeln. Se till att välja önskat programmeringsspråk för Functions överst i artikeln.

Om du vill komma igång direkt kan du slutföra snabbstartsartikeln Core Tools.

Du visar Java-versionen av den här artikeln. Se till att välja önskat programmeringsspråk för Functions överst i artikeln.

Om du vill komma igång direkt kan du slutföra snabbstartsartikeln Core Tools.

Du visar JavaScript-versionen av den här artikeln. Se till att välja önskat programmeringsspråk för Functions överst i artikeln.

Om du vill komma igång direkt kan du slutföra snabbstartsartikeln Core Tools.

Du visar PowerShell-versionen av den här artikeln. Se till att välja önskat programmeringsspråk för Functions överst i artikeln.

Om du vill komma igång direkt kan du slutföra snabbstartsartikeln Core Tools.

Du visar Python-versionen av den här artikeln. Se till att välja önskat programmeringsspråk för Functions överst i artikeln.

Om du vill komma igång direkt kan du slutföra snabbstartsartikeln Core Tools.

Du visar TypeScript-versionen av den här artikeln. Se till att välja önskat programmeringsspråk för Functions överst i artikeln.

Om du vill komma igång direkt kan du slutföra snabbstartsartikeln Core Tools.

Installera Azure Functions Core Tools

Det rekommenderade sättet att installera Core Tools beror på operativsystemet på din lokala utvecklingsdator.

Följande steg använder ett Windows-installationsprogram (MSI) för att installera Core Tools v4.x. Mer information om andra paketbaserade installationsprogram finns i Core Tools readme.

Ladda ned och kör installationsprogrammet för Core Tools baserat på din version av Windows:

Om du tidigare använde Windows-installationsprogrammet (MSI) för att installera Core Tools i Windows bör du avinstallera den gamla versionen från Lägg till Ta bort program innan du installerar den senaste versionen.

Hjälp med versionsrelaterade problem finns i Core Tools-versioner.

Skapa ditt lokala projekt

Viktigt!

För Python måste du köra Core Tools-kommandon i en virtuell miljö. Mer information finns i Snabbstart: Skapa en Python-funktion i Azure från kommandoraden.

I terminalfönstret eller från en kommandotolk kör du följande kommando för att skapa ett projekt i MyProjFolder mappen:

func init MyProjFolder --worker-runtime dotnet-isolated 

Som standard skapar det här kommandot ett projekt som körs i processen med Functions-värden på den aktuella LTS-versionen (Long-Term Support) av .NET Core. Du kan använda alternativet --target-framework för att rikta in dig på en specifik version av .NET som stöds, inklusive .NET Framework. Mer information finns i referensen func init .

En jämförelse mellan de två .NET-processmodellerna finns i jämförelseartikeln för processläge.

Java använder en Maven-arketyp för att skapa det lokala projektet, tillsammans med din första HTTP-utlösta funktion. I stället för att använda func init och func newbör du i stället följa stegen i snabbstarten för kommandoraden.

func init MyProjFolder --worker-runtime javascript --model V4

Det här kommandot skapar ett JavaScript-projekt som använder önskad version av programmeringsmodellen.

func init MyProjFolder --worker-runtime typescript --model V4

Det här kommandot skapar ett TypeScript-projekt som använder önskad version av programmeringsmodellen.

func init MyProjFolder --worker-runtime powershell
func init MyProjFolder --worker-runtime python --model V2

Det här kommandot skapar ett Python-projekt som använder önskad version av programmeringsmodellen.

När du kör func init utan --worker-runtime alternativet uppmanas du att välja projektspråk. Mer information om tillgängliga alternativ för func init kommandot finns i referensen func init .

Skapa en funktion

Om du vill lägga till en funktion i projektet kör func new du kommandot med hjälp av --template alternativet för att välja utlösarmallen. I följande exempel skapas en HTTP-utlösare med namnet MyHttpTrigger:

func new --template "Http Trigger" --name MyHttpTrigger

I det här exemplet skapas en Queue Storage-utlösare med namnet MyQueueTrigger:

func new --template "Azure Queue Storage Trigger" --name MyQueueTrigger

Följande överväganden gäller när du lägger till funktioner:

  • När du kör func new utan --template alternativet uppmanas du att välja en mall.

  • func templates list Använd kommandot för att se den fullständiga listan över tillgängliga mallar för ditt språk.

  • När du lägger till en utlösare som ansluter till en tjänst måste du också lägga till en programinställning som refererar till en anslutningssträng eller en hanterad identitet i local.settings.json-filen. Om du använder appinställningar på det här sättet kan du inte behöva bädda in autentiseringsuppgifter i koden. Mer information finns i Arbeta med appinställningar lokalt.

  • Core Tools lägger också till en referens till det specifika bindningstillägget till ditt C#-projekt.

Mer information om tillgängliga alternativ för func new kommandot finns i referensen func new .

Lägga till en bindning till din funktion

Functions tillhandahåller en uppsättning tjänstspecifika in- och utdatabindningar, vilket gör det enklare för funktionen att ansluta till andra Azure-tjänster utan att behöva använda tjänstspecifika klient-SDK:er. Mer information finns i Utlösare och bindningar i Azure Functions.

Om du vill lägga till en indata- eller utdatabindning till en befintlig funktion måste du uppdatera funktionsdefinitionen manuellt.

I följande exempel visas funktionsdefinitionen när du har lagt till en utdatabindning för queue storage till en HTTP-utlöst funktion:

Eftersom en HTTP-utlöst funktion också returnerar ett HTTP-svar returnerar funktionen ett MultiResponse objekt som representerar både HTTP- och köutdata.

[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
    FunctionContext executionContext)
{

Det här exemplet är definitionen av objektet MultiResponse som innehåller utdatabindningen:

public class MultiResponse
{
    [QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

När du tillämpar det exemplet på ditt eget projekt kan du behöva ändra till och till , beroende på om du använder ASP.NET Core-integrering eller inte.HttpResponseDataIActionResultHttpRequestDataHttpRequest

Meddelanden skickas till kön när funktionen är klar. Hur du definierar utdatabindningen beror på din processmodell. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

@FunctionName("HttpExample")
public HttpResponseMessage run(
        @HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) 
        HttpRequestMessage<Optional<String>> request, 
        @QueueOutput(name = "msg", queueName = "outqueue", 
        connection = "AzureWebJobsStorage") OutputBinding<String> msg, 
        final ExecutionContext context) {

Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

Exempelbindning för Node.js modell v4 är ännu inte tillgänglig.

Hur du definierar utdatabindningen beror på vilken version av din Node.js modell. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg

Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

@app.route(route="HttpExample")
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
def HttpExample(req: func.HttpRequest, msg: func.Out [func.QueueMessage]) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

Hur du definierar utdatabindningen beror på vilken version av Python-modellen du har. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

Exempelbindning för Node.js modell v4 är ännu inte tillgänglig.

Hur du definierar utdatabindningen beror på vilken version av din Node.js modell. Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

Följande överväganden gäller när du lägger till bindningar i en funktion:

  • När du lägger till bindningar som ansluter till en tjänst måste du också lägga till en programinställning som refererar till en anslutningssträng eller hanterad identitet i local.settings.json-filen. Mer information finns i Arbeta med appinställningar lokalt.
  • När du lägger till en bindning som stöds bör tillägget redan installeras när appen använder tilläggspaketet. Mer information finns i tilläggspaket.
  • När du lägger till en bindning som kräver ett nytt bindningstillägg måste du också lägga till en referens till det specifika bindningstillägget i C#-projektet.

Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

Mer information, inklusive länkar till exempelbindningskod som du kan referera till, finns i Lägga till bindningar i en funktion.

Starta Functions-körningen

Innan du kan köra eller felsöka funktionerna i projektet måste du starta Functions-värden från rotkatalogen i projektet. Värden aktiverar utlösare för alla funktioner i projektet. Använd det här kommandot för att starta den lokala körningen:

mvn clean package 
mvn azure-functions:run
func start
npm install
npm start     

Det här kommandot måste köras i en virtuell miljö.

När Functions-värden startar matar den ut en lista över funktioner i projektet, inklusive URL:erna för alla HTTP-utlösta funktioner, som i det här exemplet:

Found the following functions:
Host.Functions.MyHttpTrigger

Job host started
Http Function MyHttpTrigger: http://localhost:7071/api/MyHttpTrigger

Tänk på följande när du kör dina funktioner lokalt:

  • Som standard tillämpas inte auktorisering lokalt för HTTP-slutpunkter. Det innebär att alla lokala HTTP-begäranden hanteras som authLevel = "anonymous". Mer information finns i artikeln HTTP-bindning. Du kan använda alternativet --enableAuth för att kräva auktorisering när du kör lokalt. Mer information finns i func start

  • Du kan använda den lokala Azurite-emulatorn när du kör funktioner lokalt som kräver åtkomst till Azure Storage-tjänster (Queue Storage, Blob Storage och Table Storage) utan att behöva ansluta till dessa tjänster i Azure. När du använder lokal emulering måste du starta Azurite innan du startar den lokala värden (func.exe). Mer information finns i Lokal lagringsemulering.

  • Du kan använda lokal Azurite-emulering för att uppfylla lagringskravet för Python v2-arbetaren.
  • Du kan utlösa icke-HTTP-funktioner lokalt utan att ansluta till en livetjänst. Mer information finns i Kör en lokal funktion.

  • När du inkluderar anslutningsinformationen för Application Insights i local.settings.json filen skrivs lokala loggdata till den specifika Application Insights-instansen. Om du vill hålla lokala telemetridata åtskilda från produktionsdata bör du överväga att använda en separat Application Insights-instans för utveckling och testning.

  • När du använder version 1.x av Core Tools använder du func host start i stället kommandot för att starta den lokala körningen.

Köra en lokal funktion

När den lokala Functions-värden (func.exe) körs kan du nu utlösa enskilda funktioner för att köra och felsöka funktionskoden. Hur du kör en enskild funktion beror på dess utlösartyp.

Kommentar

Exempel i det här avsnittet använder cURL-verktyget för att skicka HTTP-begäranden från terminalen eller en kommandotolk. Du kan använda ett valfritt verktyg för att skicka HTTP-begäranden till den lokala servern. CURL-verktyget är tillgängligt som standard på Linux-baserade system och Windows 10 build 17063 och senare. I äldre Windows måste du först ladda ned och installera cURL-verktyget.

HTTP-utlösare startas genom att skicka en HTTP-begäran till den lokala slutpunkten och porten som visas i func.exe utdata, som har det här allmänna formatet:

http://localhost:<PORT>/api/<FUNCTION_NAME>

I den här URL-mallen <FUNCTION_NAME> är namnet på funktionen eller vägen och <PORT> är den lokala port som func.exe lyssnar på.

Det här cURL-kommandot utlöser till exempel snabbstartsfunktionen MyHttpTrigger från en GET-begäran med namnparametern som skickas i frågesträngen:

curl --get http://localhost:7071/api/MyHttpTrigger?name=Azure%20Rocks

Det här exemplet är samma funktion som anropas från ett POST-begärande som skickar namn i begärandetexten, som visas för både Bash-gränssnittet och Windows-kommandoraden:

curl --request POST http://localhost:7071/api/MyHttpTrigger --data '{"name":"Azure Rocks"}'
curl --request POST http://localhost:7071/api/MyHttpTrigger --data "{'name':'Azure Rocks'}"

Följande överväganden gäller när du anropar HTTP-slutpunkter lokalt:

  • Du kan göra GET-begäranden från en webbläsare som skickar data i frågesträngen. För alla andra HTTP-metoder måste du använda cURL, Fiddler, Postman eller ett liknande HTTP-testverktyg som stöder POST-begäranden.

  • Se till att använda samma servernamn och port som Functions-värden lyssnar på. Du ser en slutpunkt som den här i utdata som genereras när du startar funktionsvärden. Du kan anropa den här URL:en med valfri HTTP-metod som stöds av utlösaren.

Publicera till Azure

Azure Functions Core Tools stöder tre typer av distribution:

Distributionstyp Kommando beskrivning
Projektfiler func azure functionapp publish Distribuerar funktionsprojektfiler direkt till funktionsappen med zip-distribution.
Azure Container Apps func azurecontainerapps deploy Distribuerar en containerbaserad funktionsapp till en befintlig Container Apps-miljö.
Kubernetes-kluster func kubernetes deploy Distribuerar din Linux-funktionsapp som en anpassad Docker-container till ett Kubernetes-kluster.

Du måste ha antingen Azure CLI eller Azure PowerShell installerat lokalt för att kunna publicera till Azure från Core Tools. Som standard använder Core Tools dessa verktyg för att autentisera med ditt Azure-konto.

Om du inte har dessa verktyg installerade måste du i stället hämta en giltig åtkomsttoken som ska användas under distributionen. Du kan visa en åtkomsttoken med hjälp av --access-token alternativet i distributionskommandona.

Distribuera projektfiler

Om du vill publicera din lokala kod till en funktionsapp i Azure använder du func azure functionapp publish publish kommandot, som i följande exempel:

func azure functionapp publish <FunctionAppName>

Det här kommandot publicerar projektfiler från den aktuella katalogen till <FunctionAppName> som ett .zip distributionspaket. Om projektet kräver kompilering görs det via fjärranslutning under distributionen.

Java använder Maven för att publicera ditt lokala projekt till Azure i stället för Core Tools. Använd följande Maven-kommando för att publicera projektet till Azure:

mvn azure-functions:deploy

När du kör det här kommandot skapas Azure-resurser under den första distributionen baserat på inställningarna i din pom.xml-fil . Mer information finns i Distribuera funktionsprojektet till Azure.

Följande överväganden gäller för den här typen av distribution:

  • Publicering skriver över befintliga filer i distributionen av fjärrfunktionsappen.

  • Du måste redan ha skapat en funktionsapp i din Azure-prenumeration. Core Tools distribuerar din projektkod till den här funktionsappresursen. Information om hur du skapar en funktionsapp från kommandotolken eller terminalfönstret med hjälp av Azure CLI eller Azure PowerShell finns i Skapa en funktionsapp för serverlös körning. Du kan också skapa dessa resurser i Azure-portalen. Du får ett fel när du försöker publicera till en <FunctionAppName> som inte finns i din prenumeration.

  • En projektmapp kan innehålla språkspecifika filer och kataloger som inte ska publiceras. Exkluderade objekt visas i en .funcignore-fil i rotprojektmappen.

  • Som standard distribueras projektet så att det körs från distributionspaketet. Om du vill inaktivera det här rekommenderade distributionsläget använder du alternativet --nozip.

  • En fjärrversion utförs på kompilerade projekt. Detta kan styras med hjälp --no-build av alternativet .

  • Använd alternativet --publish-local-settings för att automatiskt skapa appinställningar i funktionsappen baserat på värden i filen local.settings.json.

  • Om du vill publicera till ett specifikt namngivet fack i funktionsappen använder du alternativet --slot.

Distribuera containrar

Med Core Tools kan du distribuera din containerbaserade funktionsapp till både hanterade Azure Container Apps-miljöer och Kubernetes-kluster som du hanterar.

Använd följande func azurecontainerapps deploy kommando för att distribuera en befintlig containeravbildning till en Container Apps-miljö:

func azurecontainerapps deploy --name <APP_NAME> --environment <ENVIRONMENT_NAME> --storage-account <STORAGE_CONNECTION> --resource-group <RESOURCE_GROUP> --image-name <IMAGE_NAME> [--registry-password] [--registry-server] [--registry-username]

När du distribuerar till en Azure Container Apps-miljö gäller följande överväganden:

  • Miljö- och lagringskontot måste redan finnas. Lagringskontot anslutningssträng du anger används av den distribuerade funktionsappen.

  • Du behöver inte skapa en separat funktionsappresurs när du distribuerar till Container Apps.

  • Lagring anslutningssträng och andra autentiseringsuppgifter för tjänsten är viktiga hemligheter. Se till att lagra alla skriptfiler på ett säkert sätt med och func azurecontainerapps deploy lagra dem inte i några offentligt tillgängliga källkontrollsystem. Du kan kryptera local.settings.json-filen för ökad säkerhet.

Mer information finns i Azure Container Apps-värdtjänster för Azure Functions.

Arbeta med appinställningar lokalt

När du kör i en funktionsapp i Azure lagras de inställningar som krävs av dina funktioner på ett säkert sätt i appinställningarna. Under den lokala utvecklingen läggs de här inställningarna i stället till Values i samlingen i local.settings.json-filen. Filen local.settings.json lagrar även inställningar som används av lokala utvecklingsverktyg.

Objekt i Values samlingen i projektets local.settings.json fil är avsedda att spegla objekt i funktionsappens programinställningar i Azure.

Följande överväganden gäller när du arbetar med filen med lokala inställningar:

  • Eftersom local.settings.json kan innehålla hemligheter, till exempel anslutningssträng s, bör du aldrig lagra den på en fjärrlagringsplats. Core Tools hjälper dig att kryptera den här filen med lokala inställningar för bättre säkerhet. Mer information finns i Filen Lokala inställningar. Du kan också kryptera local.settings.json-filen för ökad säkerhet.

  • Som standard migreras inte lokala inställningar automatiskt när projektet publiceras till Azure. Använd alternativet --publish-local-settings när du publicerar dina projektfiler för att se till att de här inställningarna läggs till i funktionsappen i Azure. Värden i ConnectionStrings avsnittet publiceras aldrig. Du kan också ladda upp inställningar från local.settings.json-filen när som helst.

  • Du kan ladda ned och skriva över inställningar i din local.settings.json-fil med inställningar från funktionsappen i Azure. Mer information finns i Ladda ned programinställningar.

  • Inställningsvärden för funktionsappen kan också läsas i koden som miljövariabler. Mer information finns i Miljövariabler.
  • Inställningsvärden för funktionsappen kan också läsas i koden som miljövariabler. Mer information finns i Miljövariabler.
  • Inställningsvärden för funktionsappen kan också läsas i koden som miljövariabler. Mer information finns i Miljövariabler.
  • Inställningsvärden för funktionsappen kan också läsas i koden som miljövariabler. Mer information finns i Miljövariabler.
  • Inställningsvärden för funktionsappen kan också läsas i koden som miljövariabler. Mer information finns i Miljövariabler.

Ladda ned programinställningar

Från projektroten använder du följande kommando för att ladda ned alla programinställningar från myfunctionapp12345 appen i Azure:

func azure functionapp fetch-app-settings myfunctionapp12345

Det här kommandot skriver över alla befintliga inställningar i filen local.settings.json med värden från Azure. När de inte redan finns läggs nya objekt till i samlingen. Mer information finns i func azure functionapp fetch-app-settings kommandot .

Ladda ned en lagrings-anslutningssträng

Core Tools gör det också enkelt att få anslutningssträng för alla lagringskonton som du har åtkomst till. Från projektroten använder du följande kommando för att ladda ned anslutningssträng från ett lagringskonto med namnet mystorage12345.

func azure storage fetch-connection-string mystorage12345

Det här kommandot lägger till en inställning med namnet mystorage12345_STORAGE i local.settings.json-filen, som innehåller anslutningssträng för mystorage12345 kontot. Mer information finns i func azure storage fetch-connection-string kommandot .

För förbättrad säkerhet under utveckling bör du överväga att kryptera local.settings.json-filen.

Ladda upp lokala inställningar till Azure

När du publicerar dina projektfiler till Azure utan att använda alternativet anges inte inställningarna i local.settings.json filen i funktionsappen --publish-local-settings . Du kan alltid köra func azure functionapp publish om med --publish-settings-only alternativet att ladda upp bara inställningarna utan att publicera om projektfilerna.

I följande exempel laddas bara inställningar från Values samlingen i local.settings.json-filen upp till funktionsappen i Azure med namnet myfunctionapp12345:

func azure functionapp publish myfunctionapp12345 --publish-settings-only

Kryptera filen med lokala inställningar

För att förbättra säkerheten för anslutningssträng och andra värdefulla data i dina lokala inställningar kan du med Core Tools kryptera local.settings.json-filen. När den här filen krypteras dekrypterar körningen automatiskt inställningarna när det behövs på samma sätt som med programinställningen i Azure. Du kan också dekryptera en lokalt krypterad fil för att arbeta med inställningarna.

Använd följande kommando för att kryptera filen med lokala inställningar för projektet:

func settings encrypt

Använd följande kommando för att dekryptera en krypterad lokal inställning så att du kan arbeta med den:

func settings decrypt

När inställningsfilen krypteras och dekrypteras uppdateras även filens IsEncrypted inställning.

Konfigurera bindningstillägg

Funktionsutlösare och bindningar implementeras som .NET-tilläggspaket (NuGet). För att kunna använda ett specifikt bindningstillägg måste tillägget installeras i projektet.

Det här avsnittet gäller inte för version 1.x av Functions-körningen. I version 1.x ingick bindning som stöds i kärnprodukttillägget.

För C#-klassbiblioteksprojekt lägger du till referenser till de specifika NuGet-paketen för de bindningstillägg som krävs av dina funktioner. C#-skriptprojektet (.csx) måste använda tilläggspaket.

Functions tillhandahåller tilläggspaket som är enkla att arbeta med bindningstillägg i projektet. Tilläggspaket, som är versionshanterade och definierade i host.json-filen, installerar en fullständig uppsättning kompatibla bindningstilläggspaket för din app. Ditt host.json bör redan ha tilläggspaket aktiverade. Om du av någon anledning behöver lägga till eller uppdatera tilläggspaketet i filen host.json läser du Tilläggspaket.

Om du måste använda ett bindningstillägg eller en tilläggsversion som inte finns i ett paket som stöds måste du installera tillägg manuellt. Mer information om sådana sällsynta scenarier finns i func extensions install kommandot .

Core Tools-versioner

Huvudversioner av Azure Functions Core Tools är länkade till specifika huvudversioner av Azure Functions-körningen. Version 4.x av Core Tools stöder till exempel version 4.x av Functions-körningen. Den här versionen är den rekommenderade huvudversionen av både Functions-körningen och Core Tools. Du kan fastställa den senaste versionen av Core Tools på Azure Functions Core Tools-lagringsplatsen.

Kör följande kommando för att fastställa vilken version av din aktuella Core Tools-installation:

func --version

Om inget annat anges gäller exemplen i den här artikeln version 4.x.

Följande överväganden gäller för Core Tools-installationer:

  • Du kan bara installera en version av Core Tools på en viss dator.

  • När du uppgraderar till den senaste versionen av Core Tools bör du använda samma metod som du använde för den ursprungliga installationen för att utföra uppgraderingen. Om du till exempel använde en MSI i Windows avinstallerar du den aktuella MSI:en och installerar den senaste. Eller om du använde npm kör npm install commanddu igen .

  • Version 2.x och 3.x av Core Tools användes med version 2.x och 3.x av Functions-körningen, som har nått slutet av supporten. Mer information finns i Översikt över Azure Functions-körningsversioner.

  • Version 1.x av Core Tools krävs när du använder version 1.x av Functions Runtime, som fortfarande stöds. Den här versionen av Core Tools kan bara köras lokalt på Windows-datorer. Om du för närvarande kör version 1.x bör du överväga att migrera din app till version 4.x i dag.

Nästa steg

Lär dig hur du utvecklar, testar och publicerar Azure-funktioner med hjälp av Azure Functions-kärnverktyg. Azure Functions Core Tools finns öppen källkod och finns på GitHub. Om du vill skicka en bugg eller funktionsbegäran öppnar du ett GitHub-problem.