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:
- v4.x – Windows 64-bitars (rekommenderas. Felsökning av Visual Studio Code kräver 64-bitars.)
- v4.x – Windows 32-bitars
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 new
bör du i stället följa stegen i snabbstarten för kommandoraden.
Det här kommandot skapar ett JavaScript-projekt som använder önskad version av programmeringsmodellen.
Det här kommandot skapar ett TypeScript-projekt som använder önskad version av programmeringsmodellen.
func init MyProjFolder --worker-runtime powershell
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 niska veze 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.HttpResponseData
IActionResult
HttpRequestData
HttpRequest
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.
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.
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:
- För språk som definierar funktioner med hjälp av function.json konfigurationsfilen förenklar Visual Studio Code processen att lägga till bindningar i en befintlig funktionsdefinition. Mer information finns i Ansluta funktioner till Azure-tjänster med bindningar.
- 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 niska veze 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 auktoriseringsnivå. Du kan använda alternativet--enableAuth
för att kräva auktorisering när du kör lokalt. Mer information finns ifunc 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 ett HTTP-testverktyg som även skyddar dina data. Mer information finns i HTTP-testverktyg.
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
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 niska veze du anger används av den distribuerade funktionsappen.
Du behöver inte skapa en separat funktionsappresurs när du distribuerar till Container Apps.
Lagring niska veze 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 niska veze, 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 iConnectionStrings
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.
- När inget giltigt lagringsutrymme niska veze har angetts för
AzureWebJobsStorage
och en lokal lagringsemulator inte används visas ett fel. Du kan använda Core Tools för att ladda ned en specifik niska veze från något av dina Azure Storage-konton.
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-niska veze
Core Tools gör det också enkelt att få niska veze för alla lagringskonton som du har åtkomst till. Från projektroten använder du följande kommando för att ladda ned niska veze 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 niska veze 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 niska veze 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 bindningar 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 command
du 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 är öppen källkod och finns på GitHub. Om du vill skicka en bugg eller funktionsbegäran öppnar du ett GitHub-problem.