Werken met Azure Functions Core ToolsWork with Azure Functions Core Tools

Met Azure Functions Core Tools kunt u uw functies op uw lokale computer ontwikkelen en testen vanaf de opdrachtprompt of terminal.Azure Functions Core Tools lets you develop and test your functions on your local computer from the command prompt or terminal. Uw lokale functies kunnen verbinding maken met Live Azure-Services, en u kunt fouten opsporen in uw functies op uw lokale computer met behulp van de volledige functions-runtime.Your local functions can connect to live Azure services, and you can debug your functions on your local computer using the full Functions runtime. U kunt zelfs een functie-app implementeren in uw Azure-abonnement.You can even deploy a function app to your Azure subscription.

Belangrijk

Combineer geen lokale ontwikkeling met portal-ontwikkeling in dezelfde functie-app.Do not mix local development with portal development in the same function app. Wanneer u functies maakt en publiceert vanuit een lokaal project, moet u niet proberen projectcode in de portal te onderhouden of te wijzigen.When you create and publish functions from a local project, you should not try to maintain or modify project code in the portal.

Het ontwikkelen van functies op uw lokale computer en het publiceren van deze naar Azure met behulp van kern Hulpprogramma's volgt deze basis stappen:Developing functions on your local computer and publishing them to Azure using Core Tools follows these basic steps:

Versies van Core ToolsCore Tools versions

Er zijn drie versies van Azure Functions Core Tools.There are three versions of Azure Functions Core Tools. Welke versie u gebruikt, is afhankelijk van uw lokale ontwikkel omgeving, de keuze van de taalen het vereiste ondersteunings niveau:The version you use depends on your local development environment, choice of language, and level of support required:

U kunt slechts één versie van de kern Hulpprogramma's installeren op een bepaalde computer.You can only install one version of Core Tools on a given computer. Tenzij anders vermeld, zijn de voor beelden in dit artikel van versie 3. x.Unless otherwise noted, the examples in this article are for version 3.x.

VereistenPrerequisites

Azure Functions Core Tools is momenteel afhankelijk van de Azure cli of Azure PowerShell voor verificatie met uw Azure-account.Azure Functions Core Tools currently depends on either the Azure CLI or Azure PowerShell for authenticating with your Azure account. Dit betekent dat u een van deze hulpprogram ma's moet installeren om vanuit Azure Functions Core Tools naar Azure te kunnen publiceren.This means that you must install one of these tools to be able to publish to Azure from Azure Functions Core Tools.

Azure Functions Core Tools installerenInstall the Azure Functions Core Tools

Azure functions core tools bevat een versie van dezelfde runtime die voorziet in azure functions runtime die u kunt uitvoeren op uw lokale ontwikkel computer.Azure Functions Core Tools includes a version of the same runtime that powers Azure Functions runtime that you can run on your local development computer. Het bevat ook opdrachten voor het maken van functies, verbinding maken met Azure en functie projecten implementeren.It also provides commands to create functions, connect to Azure, and deploy function projects.

Versie 3. x en 2. xVersion 3.x and 2.x

Versie 3. x/2. x van de hulpprogram ma's maakt gebruik van de Azure Functions runtime die is gebouwd op .NET core.Version 3.x/2.x of the tools uses the Azure Functions runtime that is built on .NET Core. Deze versie wordt ondersteund op alle platformen .NET core ondersteunt, waaronder Windows, macOSen Linux.This version is supported on all platforms .NET Core supports, including Windows, macOS, and Linux.

Belangrijk

U kunt de vereiste voor het installeren van de .NET Core SDK overs Laan door gebruik te maken van uitbreidings bundels.You can bypass the requirement for installing the .NET Core SDK by using extension bundles.

In de volgende stappen wordt een Windows-installatie programma (MSI) gebruikt om de kern Hulpprogramma's v3. x te installeren.The following steps use a Windows installer (MSI) to install Core Tools v3.x. Raadpleeg het Leesmij-bestand voor de belangrijkste Hulpprogram ma'svoor meer informatie over andere pakket installatie Programma's die nodig zijn voor het installeren van kern hulpprogramma's v2. x.For more information about other package-based installers, which are required to install Core Tools v2.x, see the Core Tools readme.

  1. Down load en voer het installatie programma voor kern Hulpprogramma's uit op basis van uw versie van Windows:Download and run the Core Tools installer, based on your version of Windows:

  2. Als u geen uitbreidings bundelswilt gebruiken, installeert u de .net Core 3. x SDK voor Windows.If you don't plan to use extension bundles, install the .NET Core 3.x SDK for Windows.

Een lokaal Functions-project makenCreate a local Functions project

Een project directory functions bevat de bestanden host.jsop en local.settings.jsop, samen met submappen die de code voor afzonderlijke functies bevatten.A Functions project directory contains the files host.json and local.settings.json, along with subfolders that contain the code for individual functions. Deze map is het equivalent van een functie-app in Azure.This directory is the equivalent of a function app in Azure. Zie de hand leiding voor de Azure functions-ontwikkel aarsvoor meer informatie over de mapstructuur van de functies.To learn more about the Functions folder structure, see the Azure Functions developers guide.

Versie 3. x/2. x vereist dat u een standaard taal voor uw project selecteert wanneer deze wordt geïnitialiseerd.Version 3.x/2.x requires you to select a default language for your project when it is initialized. In versie 3. x/2. x worden alle functies toegevoegd standaard taal sjablonen gebruiken.In version 3.x/2.x, all functions added use default language templates. In versie 1. x geeft u de taal op telkens wanneer u een functie maakt.In version 1.x, you specify the language each time you create a function.

Voer in het Terminal venster of vanaf een opdracht prompt de volgende opdracht uit om het project en de lokale Git-opslag plaats te maken:In the terminal window or from a command prompt, run the following command to create the project and local Git repository:

func init MyFunctionProj

Belangrijk

Java maakt gebruik van een Maven-archetype om het lokale functions-project te maken, samen met uw eerste HTTP-geactiveerde functie.Java uses a Maven archetype to create the local Functions project, along with your first HTTP triggered function. Gebruik de volgende opdracht om uw Java-project te maken: mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype .Use the following command to create your Java project: mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype. Zie de opdracht regel Quickstart voor een voor beeld van het gebruik van de Maven-archetype.For an example using the Maven archetype, see the Command line quickstart.

Wanneer u een project naam opgeeft, wordt een nieuwe map met die naam gemaakt en geïnitialiseerd.When you provide a project name, a new folder with that name is created and initialized. Anders wordt de huidige map geïnitialiseerd.Otherwise, the current folder is initialized.
In versie 3. x/2. x, wanneer u de opdracht uitvoert, moet u een runtime voor uw project kiezen.In version 3.x/2.x, when you run the command you must choose a runtime for your project.

Select a worker runtime:
dotnet
node
python 
powershell

Gebruik de pijl omhoog/omlaag om een taal te kiezen en druk vervolgens op ENTER.Use the up/down arrow keys to choose a language, then press Enter. Als u van plan bent java script-of type script-functies te ontwikkelen, kiest u knoop punt en selecteert u vervolgens de taal.If you plan to develop JavaScript or TypeScript functions, choose node, and then select the language. Type script heeft een aantal aanvullende vereisten.TypeScript has some additional requirements.

De uitvoer ziet eruit als in het volgende voor beeld voor een Java script-project:The output looks like the following example for a JavaScript project:

Select a worker runtime: node
Writing .gitignore
Writing host.json
Writing local.settings.json
Writing C:\myfunctions\myMyFunctionProj\.vscode\extensions.json
Initialized empty Git repository in C:/myfunctions/myMyFunctionProj/.git/

func init ondersteunt de volgende opties, versie 3. x/2. x-only, tenzij anders vermeld:func init supports the following options, which are version 3.x/2.x-only, unless otherwise noted:

OptieOption BeschrijvingDescription
--csx Maakt .NET-functies als C#-script. Dit is het gedrag van versie 1. x.Creates .NET functions as C# script, which is the version 1.x behavior. Alleen geldig met --worker-runtime dotnet .Valid only with --worker-runtime dotnet.
--docker Hiermee maakt u een Dockerfile voor een container met behulp van een basis installatie kopie op basis van de gekozen --worker-runtime .Creates a Dockerfile for a container using a base image that is based on the chosen --worker-runtime. Gebruik deze optie wanneer u van plan bent om te publiceren naar een aangepaste Linux-container.Use this option when you plan to publish to a custom Linux container.
--docker-only Hiermee wordt een Dockerfile toegevoegd aan een bestaand project.Adds a Dockerfile to an existing project. Hiermee wordt u gevraagd om de werk nemer-runtime als deze niet is opgegeven of ingesteld in local.settings.jsop.Prompts for the worker-runtime if not specified or set in local.settings.json. Gebruik deze optie wanneer u van plan bent een bestaand project te publiceren naar een aangepaste Linux-container.Use this option when you plan to publish an existing project to a custom Linux container.
--force Initialiseer het project zelfs wanneer er bestaande bestanden in het project aanwezig zijn.Initialize the project even when there are existing files in the project. Deze instelling overschrijft bestaande bestanden met dezelfde naam.This setting overwrites existing files with the same name. Andere bestanden in de projectmap worden niet beïnvloed.Other files in the project folder aren't affected.
--language Initialiseert een taalspecifiek project.Initializes a language specific project. Momenteel ondersteund als deze is --worker-runtime ingesteld op node .Currently supported when --worker-runtime set to node. Opties zijn typescript en javascript .Options are typescript and javascript. U kunt ook --worker-runtime javascript of gebruiken --worker-runtime typescript .You can also use --worker-runtime javascript or --worker-runtime typescript.
--managed-dependencies Hiermee worden beheerde afhankelijkheden geïnstalleerd.Installs managed dependencies. Op dit moment ondersteunt alleen de Power shell worker-runtime deze functionaliteit.Currently, only the PowerShell worker runtime supports this functionality.
--source-control Hiermee wordt bepaald of een Git-opslag plaats wordt gemaakt.Controls whether a git repository is created. Een opslag plaats wordt standaard niet gemaakt.By default, a repository isn't created. Wanneer true wordt een opslag plaats gemaakt.When true, a repository is created.
--worker-runtime Hiermee stelt u de taal runtime voor het project in.Sets the language runtime for the project. Ondersteunde waarden zijn: csharp , dotnet , javascript , node (Java script), powershell , python en typescript .Supported values are: csharp, dotnet, javascript,node (JavaScript), powershell, python, and typescript. Gebruik mavenvoor Java. Wanneer deze niet is ingesteld, wordt u gevraagd uw runtime te kiezen tijdens de initialisatie.For Java, use Maven.When not set, you're prompted to choose your runtime during initialization.

Belangrijk

Standaard maken versie 2. x en latere versies van de kern Hulpprogramma's functie-app-projecten voor de .NET-runtime als C#-klassen projecten (. csproj).By default, version 2.x and later versions of the Core Tools create function app projects for the .NET runtime as C# class projects (.csproj). Deze C#-projecten, die kunnen worden gebruikt met Visual Studio of Visual Studio code, worden gecompileerd tijdens het testen en bij het publiceren naar Azure.These C# projects, which can be used with Visual Studio or Visual Studio Code, are compiled during testing and when publishing to Azure. Als u in plaats daarvan dezelfde C# script bestanden (. CSX) wilt maken en gebruiken die zijn gemaakt in versie 1. x en in de portal, moet u de --csx para meter toevoegen wanneer u functies maakt en implementeert.If you instead want to create and work with the same C# script (.csx) files created in version 1.x and in the portal, you must include the --csx parameter when you create and deploy functions.

Extensies registrerenRegister extensions

Met uitzonde ring van HTTP-en timer-triggers, worden function-bindingen in runtime versie 2. x en hoger geïmplementeerd als uitbreidings pakketten.With the exception of HTTP and timer triggers, Functions bindings in runtime version 2.x and higher are implemented as extension packages. Voor HTTP-bindingen en timer triggers zijn geen extensies vereist.HTTP bindings and timer triggers don't require extensions.

Om incompatibiliteit tussen de verschillende uitbreidings pakketten te beperken, kunt u met functies naar een uitbreidings bundel in uw host.jsop Project bestand verwijzen.To reduce incompatibilities between the various extension packages, Functions lets you reference an extension bundle in your host.json project file. Als u ervoor kiest om geen uitbreidings bundels te gebruiken, moet u ook .NET Core 2. x SDK lokaal installeren en een uitbrei ding van extensies. csproj met uw functions-project onderhouden.If you choose not to use extension bundles, you also need to install .NET Core 2.x SDK locally and maintain an extensions.csproj with your functions project.

In versie 2. x en voorbij de Azure Functions runtime moet u de uitbrei dingen expliciet registreren voor de bindings typen die in uw functies worden gebruikt.In version 2.x and beyond of the Azure Functions runtime, you have to explicitly register the extensions for the binding types used in your functions. U kunt ervoor kiezen om bindings uitbreidingen afzonderlijk te installeren of u kunt een referentie voor een uitbreidings bundel toevoegen aan de host.jsvan het project bestand.You can choose to install binding extensions individually, or you can add an extension bundle reference to the host.json project file. Met uitbreidings bundels wordt de kans verwijderd om compatibiliteits problemen met het pakket op te lossen wanneer u meerdere bindings typen gebruikt.Extension bundles removes the chance of having package compatibility issues when using multiple binding types. Het is de aanbevolen methode voor het registreren van bindings uitbreidingen.It is the recommended approach for registering binding extensions. Extensie bundels verwijdert ook de vereiste van het installeren van de .NET Core 2. x SDK.Extension bundles also removes the requirement of installing the .NET Core 2.x SDK.

Uitbreidings bundels gebruikenUse extension bundles

De eenvoudigste manier om bindingextensies te installeren, is door extensiebundelsin te schakelen.The easiest way to install binding extensions is to enable extension bundles. Wanneer u bundels inschakelt, wordt er automatisch een vooraf gedefinieerde set extensiepakketten geïnstalleerd.When you enable bundles, a predefined set of extension packages is automatically installed.

Als u extensiebundels wilt inschakelen, opent u het bestand host.json en werkt u de inhoud daarvan zodanig bij dat deze overeenkomt met de volgende code:To enable extension bundles, open the host.json file and update its contents to match the following code:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    }
}

Zie Azure functions bindings uitbreidingen registrerenvoor meer informatie.To learn more, see Register Azure Functions binding extensions. U moet uitbreidings bundels toevoegen aan de host.jsop voordat u bindingen toevoegt aan het function.jsbestand.You should add extension bundles to the host.json before you add bindings to the function.json file.

Expliciete extensies installerenExplicitly install extensions

Als u geen uitbreidings bundels kunt gebruiken, kunt u Azure Functions Core Tools lokaal gebruiken om de specifieke extensie pakketten te installeren die vereist zijn voor uw project.If you aren't able to use extension bundles, you can use Azure Functions Core Tools locally to install the specific extension packages required by your project.

Belangrijk

U kunt geen expliciete uitbrei dingen installeren in een functie-app die gebruikmaakt van uitbreidings bundels.You can't explicitly install extensions in a function app that is using extension bundles. Verwijder de extensionBundle sectie in host.jsop voordat u de extensies expliciet installeert.Remove the extensionBundle section in host.json before explicitly installing extensions.

De volgende items beschrijven enkele redenen die u mogelijk hand matig moet installeren:The following items describe some reasons you might need to install extensions manually:

  • U moet toegang hebben tot een specifieke versie van een uitbrei ding die niet beschikbaar is in een bundel.You need to access a specific version of an extension not available in a bundle.
  • U moet toegang hebben tot een aangepaste extensie die niet beschikbaar is in een bundel.You need to access a custom extension not available in a bundle.
  • U moet toegang hebben tot een specifieke combi natie van extensies die niet beschikbaar zijn in een enkele bundel.You need to access a specific combination of extensions not available in a single bundle.

Notitie

Als u de uitbrei dingen hand matig wilt installeren met behulp van kern Hulpprogramma's, moet u de .net Core 2. x SDK hebben geïnstalleerd.To manually install extensions by using Core Tools, you must have the .NET Core 2.x SDK installed. De .NET Core SDK wordt gebruikt door Azure Functions Core Tools om uitbrei dingen van NuGet te installeren.The .NET Core SDK is used by Azure Functions Core Tools to install extensions from NuGet. U hoeft geen kennis te hebben van .NET om Azure Functions-extensies te gebruiken.You don't need to know .NET to use Azure Functions extensions.

Wanneer u de extensies expliciet installeert, wordt een .NET-project bestand met de naam Extensions. csproj toegevoegd aan de hoofdmap van uw project.When you explicitly install extensions, a .NET project file named extensions.csproj is added to the root of your project. Dit bestand definieert de set NuGet-pakketten die vereist zijn voor uw functies.This file defines the set of NuGet packages required by your functions. Hoewel u met de NuGet- pakket verwijzingen in dit bestand kunt werken, kunt u met de belangrijkste hulpprogram ma's uitbrei dingen installeren zonder het bestand hand matig te hoeven bewerken.While you can work with the NuGet package references in this file, Core Tools lets you install extensions without having to manually edit the file.

Er zijn verschillende manieren om de vereiste extensies in uw lokale project te installeren met behulp van kern Hulpprogramma's.There are several ways to use Core Tools to install the required extensions in your local project.

Alle uitbrei dingen installerenInstall all extensions

Gebruik de volgende opdracht om automatisch alle extensie pakketten toe te voegen die worden gebruikt door de bindingen in uw lokale project:Use the following command to automatically add all extension packages used by the bindings in your local project:

func extensions install

Met de opdracht leest u de function.jsin het bestand om te zien welke pakketten u nodig hebt, installeert u ze en bouwt u het project extensies uit (extensies. csproj).The command reads the function.json file to see which packages you need, installs them, and rebuilds the extensions project (extensions.csproj). Er worden nieuwe bindingen aan de huidige versie toegevoegd, maar bestaande bindingen worden niet bijgewerkt.It adds any new bindings at the current version but does not update existing bindings. Gebruik de --force optie om bestaande bindingen bij te werken naar de meest recente versie bij het installeren van nieuwe.Use the --force option to update existing bindings to the latest version when installing new ones.

Als uw functie-app bindingen gebruikt die niet worden herkend door kern Hulpprogramma's, moet u de specifieke extensie hand matig installeren.If your function app uses bindings that Core Tools does not recognize, you must manually install the specific extension.

Een specifieke extensie installerenInstall a specific extension

Gebruik de volgende opdracht voor het installeren van een specifiek uitbreidings pakket op een specifieke versie, in dit geval de opslag extensie:Use the following command to install a specific extension package at a specific version, in this case the Storage extension:

func extensions install --package Microsoft.Azure.WebJobs.Extensions.Storage --version 4.0.2

Lokale instellingsbestandLocal settings file

In het bestand local.settings.json worden app-instellingen, verbindingsreeksen en instellingen opgeslagen die door lokale ontwikkelprogramma's worden gebruikt.The local.settings.json file stores app settings, connection strings, and settings used by local development tools. Instellingen in het bestand local.settings.json worden alleen gebruikt als u projecten lokaal uitvoert.Settings in the local.settings.json file are used only when you're running projects locally. Het bestand met lokale instelling heeft de volgende structuur:The local settings file has this structure:

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "<language worker>",
    "AzureWebJobsStorage": "<connection-string>",
    "AzureWebJobsDashboard": "<connection-string>",
    "MyBindingConnection": "<binding-connection-string>",
    "AzureWebJobs.HttpExample.Disabled": "true"
  },
  "Host": {
    "LocalHttpPort": 7071,
    "CORS": "*",
    "CORSCredentials": false
  },
  "ConnectionStrings": {
    "SQLConnectionString": "<sqlclient-connection-string>"
  }
}

Deze instellingen worden ondersteund wanneer u projecten lokaal uitvoert:These settings are supported when you run projects locally:

InstellingSetting BeschrijvingDescription
IsEncrypted Wanneer deze instelling is ingesteld op true, worden alle waarden versleuteld met een lokale machinesleutel.When this setting is set to true, all values are encrypted with a local machine key. Gebruikt met func settings-opdrachten.Used with func settings commands. De standaardwaarde is false.Default value is false. Mogelijk wilt u het bestand local.settings.json versleutelen op uw lokale computer wanneer het geheimen bevat, zoals serviceverbindingsreeksen.You might want to encrypt the local.settings.json file on your local computer when it contains secrets, such as service connection strings. De host ontsleutelt de instellingen automatisch wanneer deze wordt uitgevoerd.The host automatically decrypts settings when it runs. Gebruik de opdracht func settings decrypt voordat u lokaal versleutelde instellingen probeert te lezen.Use the func settings decrypt command before trying to read locally encrypted settings.
Values Matrix van toepassingsinstellingen en verbindingsreeksen die worden gebruikt wanneer een project lokaal wordt uitgevoerd.Array of application settings and connection strings used when a project is running locally. De sleutelwaardeparen (tekenreeks-tekenreeks) corresponderen met toepassingsinstellingen in uw functie-app in Azure, zoals AzureWebJobsStorage.These key-value (string-string) pairs correspond to application settings in your function app in Azure, like AzureWebJobsStorage. Veel triggers en bindingen hebben een eigenschap die verwijst naar een app-instelling voor verbindingsreeksen, bijvoorbeeld Connection voor Blob-opslagtrigger.Many triggers and bindings have a property that refers to a connection string app setting, like Connection for the Blob storage trigger. Voor deze eigenschappen hebt u een toepassingsinstelling nodig die is gedefinieerd in de matrix Values.For these properties, you need an application setting defined in the Values array. Bekijk de onderliggende tabel voor een lijst met veelgebruikte instellingen.See the subsequent table for a list of commonly used settings.
Waarden moeten tekenreeksen zijn en geen JSON-objecten of matrices.Values must be strings and not JSON objects or arrays. Instellingsnamen kunnen geen dubbele punt (:) bevatten of een dubbel onderstrepingsteken (__).Setting names can't include a colon (:) or a double underline (__). Dubbele onderstrepingstekens worden gereserveerd tijdens de runtime en de dubbele punt is gereserveerd voor afhankelijkheidsinjectie.Double underline characters are reserved by the runtime, and the colon is reserved to support dependency injection.
Host Met de instellingen in dit gedeelte wordt het Functions-hostproces aangepast wanneer u projecten lokaal uitvoert.Settings in this section customize the Functions host process when you run projects locally. Deze instellingen staan los van de host.json-instellingen, die ook van toepassing zijn wanneer u projecten uitvoert in Azure.These settings are separate from the host.json settings, which also apply when you run projects in Azure.
LocalHttpPort Hiermee stelt u de standaardpoort in die wordt gebruikt wanneer de lokale Functions-host wordt uitgevoerd (func host start en func run).Sets the default port used when running the local Functions host (func host start and func run). De opdrachtregeloptie --port heeft voorrang op deze instelling.The --port command-line option takes precedence over this setting.
CORS Definieert de oorsprong die is toegestaan voor CORS (Cross-origin-resource delen).Defines the origins allowed for cross-origin resource sharing (CORS). Oorsprongen worden aangeleverd als een door komma's gescheiden lijst zonder spaties.Origins are supplied as a comma-separated list with no spaces. De jokertekenwaarde (*) wordt ondersteund, waarmee verzoeken van elke oorsprong toegestaan zijn.The wildcard value (*) is supported, which allows requests from any origin.
CORSCredentials Als deze instelling is ingesteld op true, zijn withCredentials-verzoeken toegestaan.When set to true, allows withCredentials requests.
ConnectionStrings Een verzameling.A collection. Gebruik deze verzameling niet voor de verbindingsreeksen die worden gebruikt door uw functiebindingen.Don't use this collection for the connection strings used by your function bindings. Deze verzameling wordt alleen gebruikt door frameworks die doorgaans een verbindingsreeks krijgen van het gedeelte ConnectionStrings van een configuratiebestand, bijvoorbeeld Entity Framework.This collection is used only by frameworks that typically get connection strings from the ConnectionStrings section of a configuration file, like Entity Framework. Verbindingsreeksen in dit object zijn toegevoegd aan de omgeving met het providertype van System.Data.SqlClient.Connection strings in this object are added to the environment with the provider type of System.Data.SqlClient. Items in deze verzameling worden niet gepubliceerd naar Azure met andere app-instellingen.Items in this collection aren't published to Azure with other app settings. U moet deze waarden expliciet toevoegen aan de verzameling Connection strings van de instellingen van uw functie-app.You must explicitly add these values to the Connection strings collection of your function app settings. Als u een SqlConnection maakt in uw functiecode, moet u de verbindingsreekswaarde bewaren met uw andere verbindingen in Toepassingsinstellingen in de portal.If you're creating a SqlConnection in your function code, you should store the connection string value with your other connections in Application Settings in the portal.

De volgende toepassingsinstellingen kunnen worden opgenomen in de matrix Values wanneer deze lokaal wordt uitgevoerd:The following application settings can be included in the Values array when running locally:

InstellingSetting WaardenValues BeschrijvingDescription
AzureWebJobsStorage Verbindingsreeks van opslagaccount ofStorage account connection string, or
UseDevelopmentStorage=true
Bevat de verbindingsreeks voor een Azure-opslagaccount.Contains the connection string for an Azure storage account. Vereist wanneer andere triggers dan HTTP worden gebruikt.Required when using triggers other than HTTP. Raadpleeg de referentie AzureWebJobsStorage voor meer informatie.For more information, see the AzureWebJobsStorage reference.
Wanneer u de Azure Storage-emulator lokaal hebt geïnstalleerd en u AzureWebJobsStorage hebt ingesteld op UseDevelopmentStorage=true, gebruikt Core Tools de emulator.When you have the Azure Storage Emulator installed locally and you set AzureWebJobsStorage to UseDevelopmentStorage=true, Core Tools uses the emulator. De emulator is nuttig tijdens ontwikkeling, maar u moet testen met een echte opslagverbinding voor de implementatie.The emulator is useful during development, but you should test with an actual storage connection before deployment.
AzureWebJobs.<FUNCTION_NAME>.Disabled true|false Als u een functie wilt uitschakelen wanneer u lokaal iets uitvoert, voegt u "AzureWebJobs.<FUNCTION_NAME>.Disabled": "true" toe aan de verzameling, waar <FUNCTION_NAME> de naam van de functie is.To disable a function when running locally, add "AzureWebJobs.<FUNCTION_NAME>.Disabled": "true" to the collection, where <FUNCTION_NAME> is the name of the function. Raadpleeg voor meer informatie Functies uitschakelen in Azure FunctionsTo learn more, see How to disable functions in Azure Functions
FUNCTIONS_WORKER_RUNTIME dotnet
node
java
powershell
python
Geeft de doeltaal van de Functions-runtime aan.Indicates the targeted language of the Functions runtime. Vereist voor versie 2.x en hoger van de Functions-runtime.Required for version 2.x and higher of the Functions runtime. Deze instelling wordt gegenereerd voor uw project door Core Tools.This setting is generated for your project by Core Tools. Raadpleeg de referentie FUNCTIONS_WORKER_RUNTIME voor meer informatie.To learn more, see the FUNCTIONS_WORKER_RUNTIME reference.
FUNCTIONS_WORKER_RUNTIME_VERSION ~7 Geeft aan dat PowerShell 7 moet worden gebruikt bij lokaal uitvoeren.Indicates that PowerShell 7 be used when running locally. Zo niet, dan wordt PowerShell Core 6 gebruikt.If not set, then PowerShell Core 6 is used. Deze instelling wordt alleen gebruikt bij lokaal uitvoeren.This setting is only used when running locally. Wanneer u in Azure uitvoert, wordt de PowerShell-runtimeversie bepaald door de siteconfiguratie-instelling powerShellVersion, die in de portal kan worden ingesteld.When running in Azure, the PowerShell runtime version is determined by the powerShellVersion site configuration setting, which can be set in the portal.

Deze instellingen worden standaard niet automatisch gemigreerd wanneer het project wordt gepubliceerd naar Azure.By default, these settings are not migrated automatically when the project is published to Azure. Gebruik de --publish-local-settings Switch Wanneer u publiceert om ervoor te zorgen dat deze instellingen worden toegevoegd aan de functie-app in Azure.Use the --publish-local-settings switch when you publish to make sure these settings are added to the function app in Azure. Houd er rekening mee dat waarden in Connections Tring nooit worden gepubliceerd.Note that values in ConnectionStrings are never published.

De instellingen van de functie-app kunnen in uw code ook worden gelezen als omgevingsvariabelen.The function app settings values can also be read in your code as environment variables. Raadpleeg het gedeelte Omgevingsvariabelen van deze taalspecifieke referentie-onderwerpen voor meer informatie:For more information, see the Environment variables section of these language-specific reference topics:

Als er geen geldige opslag connection string is ingesteld voor AzureWebJobsStorage en de emulator niet wordt gebruikt, wordt het volgende fout bericht weer gegeven:When no valid storage connection string is set for AzureWebJobsStorage and the emulator isn't being used, the following error message is shown:

Ontbrekende waarde voor AzureWebJobsStorage in local.settings.jsop.Missing value for AzureWebJobsStorage in local.settings.json. Dit is vereist voor alle triggers behalve HTTP.This is required for all triggers other than HTTP. U kunt func Azure functionapp fetch-app-Settings uitvoeren <functionAppName> of een Connection String in local.settings.jsopgeven.You can run 'func azure functionapp fetch-app-settings <functionAppName>' or specify a connection string in local.settings.json.

Uw opslag verbindings reeksen ophalenGet your storage connection strings

Zelfs wanneer u de Microsoft Azure-opslagemulator voor ontwikkeling gebruikt, wilt u wellicht testen met een echte opslag verbinding.Even when using the Microsoft Azure Storage Emulator for development, you may want to test with an actual storage connection. Ervan uitgaande dat u al een opslag account hebt gemaakt, kunt u op een van de volgende manieren een geldig opslag Connection String krijgen:Assuming you have already created a storage account, you can get a valid storage connection string in one of the following ways:

  • Zoek en selecteer opslag accounts vanuit het Azure Portal.From the Azure portal, search for and select Storage accounts. Selecteer opslag accounts uit Azure PortalSelect Storage accounts from Azure portal

    Selecteer uw opslag account, selecteer toegangs sleutels in instellingen en kopieer een van de verbindings reeks waarden.Select your storage account, select Access keys in Settings, then copy one of the Connection string values. connection string kopiëren van Azure PortalCopy connection string from Azure portal

  • Gebruik Azure Storage Explorer om verbinding te maken met uw Azure-account.Use Azure Storage Explorer to connect to your Azure account. In de Explorer breidt u uw abonnement uit, vouwt u opslag accounts uit, selecteert u uw opslag account en kopieert u de primaire of secundaire Connection String.In the Explorer, expand your subscription, expand Storage Accounts, select your storage account, and copy the primary or secondary connection string.

    connection string kopiëren van Storage Explorer

  • Gebruik de belangrijkste Hulpprogram Ma's van de hoofdmap van het project om de connection string te downloaden van Azure met een van de volgende opdrachten:Use Core Tools from the project root to download the connection string from Azure with one of the following commands:

    • Alle instellingen van een bestaande functie-app downloaden:Download all settings from an existing function app:

      func azure functionapp fetch-app-settings <FunctionAppName>
      
    • De verbindings reeks ophalen voor een specifiek opslag account:Get the Connection string for a specific storage account:

      func azure storage fetch-connection-string <StorageAccountName>
      

      Wanneer u nog niet bent aangemeld bij Azure, wordt u gevraagd dit te doen.When you aren't already signed in to Azure, you're prompted to do so. Met deze opdrachten worden bestaande instellingen in het local.settings.jsvan het bestand overschreven.These commands overwrite any existing settings in the local.settings.json file.

Een functie makenCreate a function

Voer de volgende opdracht uit om een functie te maken:To create a function, run the following command:

func new

In versie 3. x/2. x, wanneer u uitvoert, wordt u func new gevraagd een sjabloon te kiezen in de standaard taal van uw functie-app. vervolgens wordt u gevraagd om een naam voor de functie te kiezen.In version 3.x/2.x, when you run func new you are prompted to choose a template in the default language of your function app, then you are also prompted to choose a name for your function. In versie 1. x wordt u ook gevraagd om de taal te kiezen.In version 1.x, you are also prompted to choose the language.

Select a language: Select a template:
Blob trigger
Cosmos DB trigger
Event Grid trigger
HTTP trigger
Queue trigger
SendGrid
Service Bus Queue trigger
Service Bus Topic trigger
Timer trigger

Functie code wordt gegenereerd in een submap met de naam van de geleverde functie, zoals u kunt zien in de volgende uitvoer van de wachtrij trigger:Function code is generated in a subfolder with the provided function name, as you can see in the following queue trigger output:

Select a language: Select a template: Queue trigger
Function name: [QueueTriggerJS] MyQueueTrigger
Writing C:\myfunctions\myMyFunctionProj\MyQueueTrigger\index.js
Writing C:\myfunctions\myMyFunctionProj\MyQueueTrigger\readme.md
Writing C:\myfunctions\myMyFunctionProj\MyQueueTrigger\sample.dat
Writing C:\myfunctions\myMyFunctionProj\MyQueueTrigger\function.json

U kunt deze opties ook opgeven in de opdracht met behulp van de volgende argumenten:You can also specify these options in the command using the following arguments:

ArgumentArgument DescriptionDescription
--csx (Versie 2. x en hoger.) Genereert dezelfde C# script-sjablonen (. CSX) die worden gebruikt in versie 1. x en in de portal.(Version 2.x and later versions.) Generates the same C# script (.csx) templates used in version 1.x and in the portal.
--language, -l--language, -l De programmeer taal van de sjabloon, zoals C#, F # of Java script.The template programming language, such as C#, F#, or JavaScript. Deze optie is vereist in versie 1. x.This option is required in version 1.x. In versie 2. x en hoger gebruikt u deze optie niet of kiest u een taal die overeenkomt met de runtime van de werk nemer.In version 2.x and later versions, do not use this option or choose a language that matches the worker runtime.
--name, -n--name, -n De functie naam.The function name.
--template, -t--template, -t Gebruik de func templates list opdracht om de volledige lijst met beschik bare sjablonen voor elke ondersteunde taal weer te geven.Use the func templates list command to see the complete list of available templates for each supported language.

Als u bijvoorbeeld een Java script-trigger in één opdracht wilt maken, voert u het volgende uit:For example, to create a JavaScript HTTP trigger in a single command, run:

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

Als u een in een wachtrij geactiveerde functie wilt maken in één opdracht, voert u het volgende uit:To create a queue-triggered function in a single command, run:

func new --template "Queue Trigger" --name QueueTriggerJS

Functies lokaal uitvoerenRun functions locally

Als u een functions-project wilt uitvoeren, voert u de host functions uit.To run a Functions project, run the Functions host. De host schakelt triggers in voor alle functies in het project.The host enables triggers for all functions in the project. De start opdracht varieert, afhankelijk van de taal van uw project.The start command varies, depending on your project language.

func start --build

Notitie

Versie 1. x van de functions runtime vereist de host opdracht, zoals in het volgende voor beeld:Version 1.x of the Functions runtime requires the host command, as in the following example:

func host start

func start biedt ondersteuning voor de volgende opties:func start supports the following options:

OptieOption BeschrijvingDescription
--no-build Pas het huidige project niet samen om uit te voeren.Do no build current project before running. Alleen voor dotnet-projecten.For dotnet projects only. De standaard waarde is ingesteld op ONWAAR.Default is set to false. Niet ondersteund voor versie 1. x.Not supported for version 1.x.
--cors-credentials Toestaan dat geauthenticeerde cross-Origin-aanvragen (cookies en de header Authentication) worden niet ondersteund voor versie 1. x.Allow cross-origin authenticated requests (i.e. cookies and the Authentication header) Not supported for version 1.x.
--cors Een door komma's gescheiden lijst met CORS-oorsprong, zonder spaties.A comma-separated list of CORS origins, with no spaces.
--language-worker Argumenten voor het configureren van de taal medewerker.Arguments to configure the language worker. U kunt bijvoorbeeld fout opsporing voor taal werk nemer inschakelen door poort voor fout opsporing en andere vereiste argumentenop te geven.For example, you may enable debugging for language worker by providing debug port and other required arguments. Niet ondersteund voor versie 1. x.Not supported for version 1.x.
--cert Het pad naar een pfx-bestand dat een persoonlijke sleutel bevat.The path to a .pfx file that contains a private key. Alleen gebruikt met --useHttps .Only used with --useHttps. Niet ondersteund voor versie 1. x.Not supported for version 1.x.
--password Ofwel het wacht woord of een bestand dat het wacht woord voor een pfx-bestand bevat.Either the password or a file that contains the password for a .pfx file. Alleen gebruikt met --cert .Only used with --cert. Niet ondersteund voor versie 1. x.Not supported for version 1.x.
--port, -p--port, -p De lokale poort waarop moet worden geluisterd.The local port to listen on. Standaard waarde: 7071.Default value: 7071.
--pause-on-error Wacht op extra invoer voordat het proces wordt afgesloten.Pause for additional input before exiting the process. Wordt alleen gebruikt bij het starten van kern Hulpprogramma's van een Integrated Development Environment (IDE).Used only when launching Core Tools from an integrated development environment (IDE).
--script-root, --prefix--script-root, --prefix Hiermee geeft u het pad op naar de hoofdmap van de functie-app die moet worden uitgevoerd of geïmplementeerd.Used to specify the path to the root of the function app that is to be run or deployed. Dit wordt gebruikt voor gecompileerde projecten die Project bestanden in een submap genereren.This is used for compiled projects that generate project files into a subfolder. Wanneer u bijvoorbeeld een C#-klassen bibliotheek project bouwt, worden de host.jsop, local.settings.jsaan en function.jsop bestanden gegenereerd in een hoofdmap met een pad zoals MyProject/bin/Debug/netstandard2.0 .For example, when you build a C# class library project, the host.json, local.settings.json, and function.json files are generated in a root subfolder with a path like MyProject/bin/Debug/netstandard2.0. In dit geval stelt u het voor voegsel in als --script-root MyProject/bin/Debug/netstandard2.0 .In this case, set the prefix as --script-root MyProject/bin/Debug/netstandard2.0. Dit is de basis van de functie-app wanneer deze wordt uitgevoerd in Azure.This is the root of the function app when running in Azure.
--timeout, -t--timeout, -t De time-out voor het starten van de functions-host, in seconden.The timeout for the Functions host to start, in seconds. Standaard: 20 seconden.Default: 20 seconds.
--useHttps Maak een binding aan https://localhost:{port} in plaats van aan http://localhost:{port} .Bind to https://localhost:{port} rather than to http://localhost:{port}. Met deze optie wordt standaard een vertrouwd certificaat op uw computer gemaakt.By default, this option creates a trusted certificate on your computer.

Wanneer de functie host wordt gestart, wordt de URL van de met HTTP geactiveerde functies uitgevoerd:When the Functions host starts, it outputs the URL of HTTP-triggered functions:

Found the following functions:
Host.Functions.MyHttpTrigger

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

Belangrijk

Bij lokaal uitvoeren wordt de autorisatie niet afgedwongen voor HTTP-eind punten.When running locally, authorization isn't enforced for HTTP endpoints. Dit betekent dat alle lokale HTTP-aanvragen worden verwerkt als authLevel = "anonymous" .This means that all local HTTP requests are handled as authLevel = "anonymous". Zie het artikel over de http-bindingvoor meer informatie.For more information, see the HTTP binding article.

Test gegevens door geven aan een functiePassing test data to a function

Als u uw functies lokaal wilt testen, start u de functies host en roept u eind punten aan op de lokale server met behulp van HTTP-aanvragen.To test your functions locally, you start the Functions host and call endpoints on the local server using HTTP requests. Het eind punt dat u aanroept, is afhankelijk van het type functie.The endpoint you call depends on the type of function.

Notitie

Voor beelden in dit onderwerp gebruiken het krul hulp programma voor het verzenden van HTTP-aanvragen van de terminal of een opdracht prompt.Examples in this topic use the cURL tool to send HTTP requests from the terminal or a command prompt. U kunt een hulp programma van uw keuze gebruiken om HTTP-aanvragen naar de lokale server te verzenden.You can use a tool of your choice to send HTTP requests to the local server. Het krul hulp programma is standaard beschikbaar op Linux-systemen en Windows 10 build 17063 en hoger.The cURL tool is available by default on Linux-based systems and Windows 10 build 17063 and later. In oudere versies van Windows moet u eerst het krul hulp programmadownloaden en installeren.On older Windows, you must first download and install the cURL tool.

Zie strategieën voor het testen van uw code in azure functionsvoor meer algemene informatie over het testen van functies.For more general information on testing functions, see Strategies for testing your code in Azure Functions.

Geactiveerde HTTP-en webhook-functiesHTTP and webhook triggered functions

U roept het volgende eind punt aan om HTTP en door de webhook geactiveerde functies lokaal uit te voeren:You call the following endpoint to locally run HTTP and webhook triggered functions:

http://localhost:{port}/api/{function_name}

Zorg ervoor dat u dezelfde server naam en poort gebruikt als waarop de host van de functies luistert.Make sure to use the same server name and port that the Functions host is listening on. U ziet dit in de uitvoer die wordt gegenereerd bij het starten van de host van de functie.You see this in the output generated when starting the Function host. U kunt deze URL aanroepen met de HTTP-methode die wordt ondersteund door de trigger.You can call this URL using any HTTP method supported by the trigger.

Met de volgende krul opdracht wordt de Quick Start- MyHttpTrigger functie geactiveerd vanuit een GET-aanvraag met de para meter name door gegeven in de query teken reeks.The following cURL command triggers the MyHttpTrigger quickstart function from a GET request with the name parameter passed in the query string.

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

Het volgende voor beeld is dezelfde functie die wordt aangeroepen vanuit een POST-aanvraag voor het door geven van een naam in de hoofd tekst van de aanvraag:The following example is the same function called from a POST request passing name in the request body:

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

U kunt GET-aanvragen indienen vanuit een browser waarmee gegevens worden door gegeven in de query teken reeks.You can make GET requests from a browser passing data in the query string. Voor alle andere HTTP-methoden moet u krul, Fiddler, Postman of een soortgelijk hulp programma voor HTTP-tests gebruiken.For all other HTTP methods, you must use cURL, Fiddler, Postman, or a similar HTTP testing tool.

Niet-HTTP-geactiveerde functiesNon-HTTP triggered functions

Voor alle soorten functies behalve HTTP-triggers en webhooks en Event Grid triggers kunt u uw functies lokaal testen door een beheer eindpunt aan te roepen.For all kinds of functions other than HTTP triggers and webhooks and Event Grid triggers, you can test your functions locally by calling an administration endpoint. Als dit eind punt wordt aangeroepen met een HTTP POST-aanvraag op de lokale server, wordt de functie geactiveerd.Calling this endpoint with an HTTP POST request on the local server triggers the function.

Zie Local tests with Viewer web appals u Event grid geactiveerde functies lokaal wilt testen.To test Event Grid triggered functions locally, see Local testing with viewer web app.

U kunt eventueel test gegevens door geven aan de uitvoering in de hoofd tekst van de POST-aanvraag.You can optionally pass test data to the execution in the body of the POST request. Deze functionaliteit is vergelijkbaar met het tabblad testen in de Azure Portal.This functionality is similar to the Test tab in the Azure portal.

U roept het volgende Administrator-eind punt aan om niet-HTTP-functies te activeren:You call the following administrator endpoint to trigger non-HTTP functions:

http://localhost:{port}/admin/functions/{function_name}

Als u test gegevens wilt door geven aan het eind punt van de beheerder van een functie, moet u de gegevens opgeven in de hoofd tekst van een bericht van een POST-aanvraag.To pass test data to the administrator endpoint of a function, you must supply the data in the body of a POST request message. De hoofd tekst van het bericht moet de volgende JSON-indeling hebben:The message body is required to have the following JSON format:

{
    "input": "<trigger_input>"
}

De <trigger_input> waarde bevat gegevens in een indeling die door de functie wordt verwacht.The <trigger_input> value contains data in a format expected by the function. Het volgende krul-voor beeld is een POST naar een QueueTriggerJS functie.The following cURL example is a POST to a QueueTriggerJS function. In dit geval is de invoer een teken reeks die overeenkomt met het bericht dat naar verwachting in de wachtrij wordt gevonden.In this case, the input is a string that is equivalent to the message expected to be found in the queue.

curl --request POST -H "Content-Type:application/json" --data '{"input":"sample queue data"}' http://localhost:7071/admin/functions/QueueTrigger

De func run opdracht gebruiken (alleen versie 1. x)Using the func run command (version 1.x only)

Belangrijk

De func run opdracht wordt alleen ondersteund in versie 1. x van de hulpprogram ma's.The func run command is only supported in version 1.x of the tools. Zie het onderwerp How to Azure functions runtime-versiesvoor meer informatie.For more information, see the topic How to target Azure Functions runtime versions.

In versie 1. x kunt u ook rechtstreeks een functie aanroepen met behulp func run <FunctionName> van en invoer gegevens opgeven voor de functie.In version 1.x, you can also invoke a function directly by using func run <FunctionName> and provide input data for the function. Deze opdracht is vergelijkbaar met het uitvoeren van een functie met behulp van het tabblad testen in de Azure Portal.This command is similar to running a function using the Test tab in the Azure portal.

func run biedt ondersteuning voor de volgende opties:func run supports the following options:

OptieOption BeschrijvingDescription
--content, -c--content, -c Inline-inhoud.Inline content.
--debug, -d--debug, -d Koppel een fout opsporingsprogramma aan het hostproces voordat u de functie uitvoert.Attach a debugger to the host process before running the function.
--timeout, -t--timeout, -t De tijd (in seconden) die moet worden gewacht totdat de lokale functions-host gereed is.Time to wait (in seconds) until the local Functions host is ready.
--file, -f--file, -f De bestands naam die moet worden gebruikt als inhoud.The file name to use as content.
--no-interactive Er wordt niet gevraagd om invoer.Does not prompt for input. Handig voor automatiserings scenario's.Useful for automation scenarios.

Als u bijvoorbeeld een door HTTP geactiveerde functie wilt aanroepen en de hoofd tekst van de inhoud wilt door geven, voert u de volgende opdracht uit:For example, to call an HTTP-triggered function and pass content body, run the following command:

func run MyHttpTrigger -c '{\"name\": \"Azure\"}'

Publiceren naar AzurePublish to Azure

De Azure Functions Core Tools ondersteunt twee typen implementaties: functie project bestanden rechtstreeks implementeren in uw functie-app via zip-implementatie en een aangepaste docker-container implementeren.The Azure Functions Core Tools supports two types of deployment: deploying function project files directly to your function app via Zip Deploy and deploying a custom Docker container. U moet al een functie-app hebben gemaakt in uw Azure-abonnement, waar u uw code gaat implementeren.You must have already created a function app in your Azure subscription, to which you'll deploy your code. Projecten waarvoor compilatie vereist is, moeten worden gebouwd zodat de binaire bestanden kunnen worden geïmplementeerd.Projects that require compilation should be built so that the binaries can be deployed.

Belangrijk

U moet de Azure cli of Azure PowerShell lokaal geïnstalleerd hebben om te kunnen publiceren naar Azure vanuit de kern hulpprogramma's.You must have the Azure CLI or Azure PowerShell installed locally to be able to publish to Azure from Core Tools.

Een projectmap kan taalspecifieke bestanden en mappen bevatten die niet mogen worden gepubliceerd.A project folder may contain language-specific files and directories that shouldn't be published. Uitgesloten items worden weer gegeven in een. funcignore-bestand in de hoofdmap van het project.Excluded items are listed in a .funcignore file in the root project folder.

Project bestanden implementerenDeploy project files

Als u uw lokale code wilt publiceren in een functie-app in Azure, gebruikt u de opdracht publish:To publish your local code to a function app in Azure, use the publish command:

func azure functionapp publish <FunctionAppName>

Belangrijk

Java maakt gebruik van Maven om uw lokale project naar Azure te publiceren.Java uses Maven to publish your local project to Azure. Gebruik de volgende opdracht om te publiceren naar Azure: mvn azure-functions:deploy .Use the following command to publish to Azure: mvn azure-functions:deploy. Azure-resources worden gemaakt tijdens de eerste implementatie.Azure resources are created during initial deployment.

Met deze opdracht wordt gepubliceerd naar een bestaande functie-app in Azure.This command publishes to an existing function app in Azure. U krijgt een fout melding als u probeert te publiceren naar een <FunctionAppName> die niet voor komt in uw abonnement.You'll get an error if you try to publish to a <FunctionAppName> that doesn't exist in your subscription. Zie een functie-app maken voor serverloze uitvoering voormeer informatie over het maken van een functie-app vanuit de opdracht prompt of het Terminal venster met behulp van Azure CLI of Azure PowerShell.To learn how to create a function app from the command prompt or terminal window using the Azure CLI or Azure PowerShell, see Create a Function App for serverless execution. Deze opdracht maakt standaard gebruik van externe build en implementeert uw app voor uitvoering vanuit het implementatie pakket.By default, this command uses remote build and deploys your app to run from the deployment package. Als u deze aanbevolen implementatie modus wilt uitschakelen, gebruikt u de --nozip optie.To disable this recommended deployment mode, use the --nozip option.

Belangrijk

Wanneer u een functie-app maakt in de Azure Portal, gebruikt deze standaard versie 3. x van de functie-runtime.When you create a function app in the Azure portal, it uses version 3.x of the Function runtime by default. Volg de instructies in uitvoeren op versie 1. xom de functie-app versie 1. x van de runtime te laten gebruiken.To make the function app use version 1.x of the runtime, follow the instructions in Run on version 1.x. U kunt de runtime versie niet wijzigen voor een functie-app met bestaande functies.You can't change the runtime version for a function app that has existing functions.

De volgende publicatie opties zijn van toepassing op alle versies:The following publish options apply for all versions:

OptieOption BeschrijvingDescription
--publish-local-settings -i Publiceer instellingen in local.settings.jsnaar Azure en vraag om te worden overschreven als de instelling al bestaat.Publish settings in local.settings.json to Azure, prompting to overwrite if the setting already exists. Als u de Microsoft Azure-opslagemulator gebruikt, wijzigt u eerst de app-instelling in een echte opslag verbinding.If you are using the Microsoft Azure Storage Emulator, first change the app setting to an actual storage connection.
--overwrite-settings -y De prompt voor het overschrijven van app-instellingen onderdrukken wanneer deze wordt --publish-local-settings -i gebruikt.Suppress the prompt to overwrite app settings when --publish-local-settings -i is used.

De volgende publicatie opties worden alleen ondersteund voor versie 2. x en latere versies:The following publish options are supported only for version 2.x and later versions:

OptieOption BeschrijvingDescription
--publish-settings-only, -o--publish-settings-only, -o Publiceer instellingen alleen en sla de inhoud over.Only publish settings and skip the content. De standaard instelling is prompt.Default is prompt.
--list-ignored-files Geeft een lijst weer van bestanden die worden genegeerd tijdens het publiceren, dat is gebaseerd op het. funcignore-bestand.Displays a list of files that are ignored during publishing, which is based on the .funcignore file.
--list-included-files Geeft een lijst weer van bestanden die zijn gepubliceerd, die zijn gebaseerd op het. funcignore-bestand.Displays a list of files that are published, which is based on the .funcignore file.
--nozip Hiermee schakelt u de standaard Run-From-Package modus uit.Turns the default Run-From-Package mode off.
--build-native-deps Slaat de map voor het genereren van wielen op tijdens het publiceren van python-functie-apps.Skips generating .wheels folder when publishing Python function apps.
--build, -b--build, -b Voert een build-actie uit wanneer deze wordt geïmplementeerd in een Linux-functie-app.Performs build action when deploying to a Linux function app. Accepteert: remote en local .Accepts: remote and local.
--additional-packages Lijst met pakketten die moeten worden geïnstalleerd bij het bouwen van systeem eigen afhankelijkheden.List of packages to install when building native dependencies. Bijvoorbeeld: python3-dev libevent-dev.For example: python3-dev libevent-dev.
--force Verificatie vooraf publiceren in bepaalde scenario's negeren.Ignore pre-publishing verification in certain scenarios.
--csx Publiceer een C# script-project (. CSX).Publish a C# script (.csx) project.
--no-build Het project is niet gebouwd tijdens het publiceren.Project isn't built during publishing. Voor python wordt pip install niet uitgevoerd.For Python, pip install isn't performed.
--dotnet-cli-params Bij het publiceren van gecompileerde C#-functies (. csproj) roept de kern hulpprogramma's ' DotNet build--output bin/Publish ' aan.When publishing compiled C# (.csproj) functions, the core tools calls 'dotnet build --output bin/publish'. Alle para meters die aan dit worden door gegeven, worden toegevoegd aan de opdracht regel.Any parameters passed to this will be appended to the command line.

Aangepaste container implementerenDeploy custom container

Met Azure Functions kunt u uw functie project implementeren in een aangepaste docker-container.Azure Functions lets you deploy your function project in a custom Docker container. Zie een functie maken in Linux met behulp van een aangepaste installatie kopievoor meer informatie.For more information, see Create a function on Linux using a custom image. Aangepaste containers moeten een Dockerfile hebben.Custom containers must have a Dockerfile. Als u een app met een Dockerfile wilt maken, gebruikt u de optie-Dockerfile op func init .To create an app with a Dockerfile, use the --dockerfile option on func init.

func deploy

De volgende opties voor de implementatie van de aangepaste container zijn beschikbaar:The following custom container deployment options are available:

OptieOption BeschrijvingDescription
--registry De naam van een docker-REGI ster waarmee de huidige gebruiker zich heeft aangemeld.The name of a Docker Registry the current user signed-in to.
--platform Hosting platform voor de functie-app.Hosting platform for the function app. Geldige opties zijn kubernetesValid options are kubernetes
--name Naam van de functie-app.Function app name.
--max Hiermee stelt u eventueel het maximum aantal functie-app-exemplaren in dat moet worden geïmplementeerd.Optionally, sets the maximum number of function app instances to deploy to.
--min Hiermee stelt u optioneel het minimum aantal functie-app-exemplaren in dat moet worden geïmplementeerd.Optionally, sets the minimum number of function app instances to deploy to.
--config Hiermee stelt u een optioneel implementatie configuratie bestand in.Sets an optional deployment configuration file.

Functies bewakenMonitoring functions

De aanbevolen manier om de uitvoering van uw functies te controleren is door te integreren met Azure-toepassing Insights.The recommended way to monitor the execution of your functions is by integrating with Azure Application Insights. U kunt ook uitvoerings logboeken streamen naar uw lokale computer.You can also stream execution logs to your local computer. Zie Azure functions bewakenvoor meer informatie.To learn more, see Monitor Azure Functions.

Integratie van Application InsightsApplication Insights integration

Application Insights integratie moet worden ingeschakeld wanneer u de functie-app in azure maakt.Application Insights integration should be enabled when you create your function app in Azure. Als uw functie-app om een bepaalde reden niet is verbonden met een Application Insights-exemplaar, is het eenvoudig om deze integratie uit te voeren in de Azure Portal.If for some reason your function app isn't connected to an Application Insights instance, it's easy to do this integration in the Azure portal. Zie Application Insights-integratie inschakelenvoor meer informatie.To learn more, see Enable Application Insights integration.

Streaming-logboeken inschakelenEnable streaming logs

U kunt een stroom weer geven van de logboek bestanden die worden gegenereerd door uw functies in een opdracht regel sessie op uw lokale computer.You can view a stream of log files being generated by your functions in a command-line session on your local computer.

Ingebouwde logboekstreamingBuilt-in log streaming

Gebruik de optie logstream om streaminglogboeken te ontvangen van een specifieke functie-app die wordt uitgevoerd in Azure, zoals in het volgende voorbeeld:Use the logstream option to start receiving streaming logs of a specific function app running in Azure, as in the following example:

func azure functionapp logstream <FunctionAppName>

Notitie

De ingebouwde logboekstreaming is in Core Tools nog niet ingeschakeld voor functie-apps die worden uitgevoerd op Linux in een verbruiksabonnement.Built-in log streaming isn't yet enabled in Core Tools for function apps running on Linux in a Consumption plan. Voor deze hostingabonnementen moet u in plaats daarvan Live Metrics Stream gebruiken om de logboeken nagenoeg in realtime weer te geven.For these hosting plans, you instead need to use Live Metrics Stream to view the logs in near-real time.

Live Metrics StreamLive Metrics Stream

U kunt de Live Metrics Stream voor uw functie-app in een nieuw browservenster weergeven door de optie --browser op te nemen, zoals in het volgende voorbeeld:You can view the Live Metrics Stream for your function app in a new browser window by including the --browser option, as in the following example:

func azure functionapp logstream <FunctionAppName> --browser

Voor dit type streaming-logboeken moet Application Insights integratie zijn ingeschakeld voor uw functie-app.This type of streaming logs requires that Application Insights integration be enabled for your function app.

Volgende stappenNext steps

Meer informatie over het ontwikkelen, testen en publiceren van Azure Functions met behulp van Azure Functions Core Tools micro soft-leer module Azure functions core tools is open source en wordt gehost op github.Learn how to develop, test, and publish Azure Functions by using Azure Functions Core Tools Microsoft learn module Azure Functions Core Tools is open source and hosted on GitHub.
Open een github-probleemals u een fout of een functie aanvraag wilt indienen.To file a bug or feature request, open a GitHub issue.