Práce s Azure Functions Core ToolsWork with Azure Functions Core Tools

Nástroje Azure Functions Core Tools umožňují vyvíjet a testovat funkce na místním počítači z příkazového řádku nebo terminálu.Azure Functions Core Tools lets you develop and test your functions on your local computer from the command prompt or terminal. Vaše místní funkce se můžou připojit k živým službám Azure a své funkce můžete ladit na místním počítači pomocí modulu runtime Full Functions.Your local functions can connect to live Azure services, and you can debug your functions on your local computer using the full Functions runtime. Můžete dokonce nasadit aplikaci Function App do předplatného Azure.You can even deploy a function app to your Azure subscription.

Důležité

Nemíchejte místní vývoj s vývojem portálu ve stejné aplikaci Function App.Do not mix local development with portal development in the same function app. Při vytváření a publikování funkcí z místního projektu byste neměli chtít spravovat nebo upravovat kód projektu na portálu.When you create and publish functions from a local project, you should not try to maintain or modify project code in the portal.

Vývoj funkcí v místním počítači a jejich publikování v Azure pomocí základních nástrojů se řídí těmito základními kroky:Developing functions on your local computer and publishing them to Azure using Core Tools follows these basic steps:

Verze nástrojů Core ToolsCore Tools versions

Existují tři verze Azure Functions Core Tools.There are three versions of Azure Functions Core Tools. Použitá verze závisí na vašem místním vývojovém prostředí, výběru jazykaa požadované úrovni podpory:The version you use depends on your local development environment, choice of language, and level of support required:

V daném počítači můžete nainstalovat jenom jednu verzi základních nástrojů.You can only install one version of Core Tools on a given computer. Pokud není uvedeno jinak, příklady v tomto článku jsou pro verzi 3. x.Unless otherwise noted, the examples in this article are for version 3.x.

PožadavkyPrerequisites

Azure Functions Core Tools v současné době závisí na rozhraní příkazového řádku Azure CLI nebo Azure PowerShell k ověřování pomocí účtu Azure.Azure Functions Core Tools currently depends on either the Azure CLI or Azure PowerShell for authenticating with your Azure account. To znamená, že musíte nainstalovat jeden z těchto nástrojů, abyste mohli publikovat do Azure z Azure Functions Core Tools.This means that you must install one of these tools to be able to publish to Azure from Azure Functions Core Tools.

Instalace nástrojů Azure Functions CoreInstall the Azure Functions Core Tools

Azure Functions Core Tools obsahuje verzi stejného modulu runtime, který funguje Azure Functions runtime, který můžete spustit na místním vývojovém počítači.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. Poskytuje také příkazy pro vytváření funkcí, připojení k Azure a nasazení projektů funkcí.It also provides commands to create functions, connect to Azure, and deploy function projects.

Verze 3. x a 2. xVersion 3.x and 2.x

Verze 3. x/2. x nástroje používá modul runtime Azure Functions, který je postaven na .NET Core.Version 3.x/2.x of the tools uses the Azure Functions runtime that is built on .NET Core. Tato verze je podporovaná na všech platformách .NET Core podporovaných systémem, včetně Windows, MacOSa Linux.This version is supported on all platforms .NET Core supports, including Windows, macOS, and Linux.

Důležité

Požadavek na instalaci .NET Core SDK můžete obejít pomocí [sad rozšíření].You can bypass the requirement for installing the .NET Core SDK by using extension bundles.

Následující kroky používají Instalační službu systému Windows (MSI) k instalaci základních nástrojů v3. x.The following steps use a Windows installer (MSI) to install Core Tools v3.x. Další informace o dalších instalačních nástrojích na základě balíčků, které jsou potřeba k instalaci základních nástrojů v2. x, najdete v souboru Readme pro základní nástroje.For more information about other package-based installers, which are required to install Core Tools v2.x, see the Core Tools readme.

  1. Stáhněte a spusťte instalační program základních nástrojů na základě vaší verze systému Windows:Download and run the Core Tools installer, based on your version of Windows:

  2. Pokud neplánujete použít sady rozšíření, nainstalujte sadu .NET Core 3. x SDK pro Windows.If you don't plan to use extension bundles, install the .NET Core 3.x SDK for Windows.

Vytvoření projektu místní funkceCreate a local Functions project

Adresář projektu Functions obsahuje soubory host.jszapnuto a local.settings.jsna, společně s podsložkami, které obsahují kód pro jednotlivé funkce.A Functions project directory contains the files host.json and local.settings.json, along with subfolders that contain the code for individual functions. Tento adresář je ekvivalentem aplikace Function App v Azure.This directory is the equivalent of a function app in Azure. Další informace o struktuře složek Functions najdete v příručce pro vývojáře Azure Functions.To learn more about the Functions folder structure, see the Azure Functions developers guide.

Verze 3. x/2. x vyžaduje, abyste při inicializaci pro svůj projekt vybrali výchozí jazyk.Version 3.x/2.x requires you to select a default language for your project when it is initialized. Ve verzi 3. x/2. x se přidané všechny funkce používají výchozí jazykové šablony.In version 3.x/2.x, all functions added use default language templates. Ve verzi 1. x určíte jazyk pokaždé, když vytvoříte funkci.In version 1.x, you specify the language each time you create a function.

V okně terminálu nebo z příkazového řádku spusťte následující příkaz, který vytvoří projekt a místní úložiště Git:In the terminal window or from a command prompt, run the following command to create the project and local Git repository:

func init MyFunctionProj

Důležité

Java používá Maven Archetype k vytvoření projektu místní funkce spolu s první funkcí aktivovanou protokolem HTTP.Java uses a Maven archetype to create the local Functions project, along with your first HTTP triggered function. Pro vytvoření projektu Java použijte následující příkaz: 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. Příklad použití Maven Archetype naleznete v tématu rychlý Start k příkazovému řádku.For an example using the Maven archetype, see the Command line quickstart.

Když zadáte název projektu, vytvoří se a inicializuje nová složka s tímto názvem.When you provide a project name, a new folder with that name is created and initialized. V opačném případě se aktuální složka inicializuje.Otherwise, the current folder is initialized.
Pokud ve verzi 3. x/2. x spustíte příkaz, musíte zvolit modul runtime pro váš projekt.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

Pomocí kláves se šipkami nahoru/dolů vyberte jazyk a potom stiskněte klávesu ENTER.Use the up/down arrow keys to choose a language, then press Enter. Pokud plánujete vývoj funkcí JavaScriptu nebo TypeScript, zvolte uzel a pak vyberte jazyk.If you plan to develop JavaScript or TypeScript functions, choose node, and then select the language. TypeScript má několik dalších požadavků.TypeScript has some additional requirements.

Výstup vypadá jako v následujícím příkladu pro projekt JavaScriptu: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 podporuje následující možnosti, které jsou verze 3. x/2. x-Only, pokud není uvedeno jinak:func init supports the following options, which are version 3.x/2.x-only, unless otherwise noted:

MožnostOption PopisDescription
--csx Vytvoří funkce .NET jako skript jazyka C#, což je chování verze 1. x.Creates .NET functions as C# script, which is the version 1.x behavior. Platí pouze pro --worker-runtime dotnet .Valid only with --worker-runtime dotnet.
--docker Vytvoří souboru Dockerfile pro kontejner pomocí základní image, která je založena na zvoleném typu --worker-runtime .Creates a Dockerfile for a container using a base image that is based on the chosen --worker-runtime. Tuto možnost použijte, když plánujete publikování do vlastního kontejneru Linux.Use this option when you plan to publish to a custom Linux container.
--docker-only Přidá souboru Dockerfile do existujícího projektu.Adds a Dockerfile to an existing project. Vyzve se k zadání pracovního procesu – modul runtime, pokud není zadaný, nebo nastavený v local.settings.js.Prompts for the worker-runtime if not specified or set in local.settings.json. Tuto možnost použijte, pokud plánujete publikovat existující projekt do vlastního kontejneru Linux.Use this option when you plan to publish an existing project to a custom Linux container.
--force Inicializujte projekt i v případě, že v projektu existují existující soubory.Initialize the project even when there are existing files in the project. Toto nastavení přepíše existující soubory se stejným názvem.This setting overwrites existing files with the same name. Ostatní soubory ve složce projektu nejsou ovlivněny.Other files in the project folder aren't affected.
--language Inicializuje projekt specifický pro jazyk.Initializes a language specific project. Aktuálně podporováno, pokud je --worker-runtime nastavena na node .Currently supported when --worker-runtime set to node. Možnosti jsou typescript a javascript .Options are typescript and javascript. Můžete také použít --worker-runtime javascript nebo --worker-runtime typescript .You can also use --worker-runtime javascript or --worker-runtime typescript.
--managed-dependencies Nainstaluje spravované závislosti.Installs managed dependencies. V současné době je tato funkce podporovaná jenom modulem runtime PowerShell Worker.Currently, only the PowerShell worker runtime supports this functionality.
--source-control Určuje, zda je vytvořeno úložiště Git.Controls whether a git repository is created. Ve výchozím nastavení není úložiště vytvořeno.By default, a repository isn't created. Kdy true je vytvořeno úložiště.When true, a repository is created.
--worker-runtime Nastaví jazykový modul runtime pro projekt.Sets the language runtime for the project. Podporovány jsou následující hodnoty: csharp , dotnet , javascript , node (JavaScript),, a powershell python typescript .Supported values are: csharp, dotnet, javascript,node (JavaScript), powershell, python, and typescript. Pro Java použijte Maven. Pokud není nastaven, budete vyzváni k výběru modulu runtime během inicializace.For Java, use Maven.When not set, you're prompted to choose your runtime during initialization.

Důležité

Ve výchozím nastavení používají verze 2. x a novější verze základních nástrojů k vytváření projektů aplikací Function App pro modul runtime .NET jako projekty tříd C# (. 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). Tyto projekty C#, které lze použít se sadou Visual Studio nebo Visual Studio Code, jsou kompilovány během testování a při publikování do Azure.These C# projects, which can be used with Visual Studio or Visual Studio Code, are compiled during testing and when publishing to Azure. Pokud chcete vytvořit a pracovat se stejnými soubory skriptu C# (. csx), které byly vytvořeny ve verzi 1. x a na portálu, je nutné --csx při vytváření a nasazování funkcí použít parametr.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.

Registrovat rozšířeníRegister extensions

S výjimkou aktivačních událostí protokolu HTTP a časovače jsou vazby funkcí v modulu runtime verze 2. x a vyšší implementovány jako balíčky rozšíření.With the exception of HTTP and timer triggers, Functions bindings in runtime version 2.x and higher are implemented as extension packages. Vazby HTTP a triggery časovače nevyžadují rozšíření.HTTP bindings and timer triggers don't require extensions.

Pro snížení nekompatibility mezi různými balíčky rozšíření vám funkce umožní odkazovat na sadu rozšíření v host.jssouboru projektu.To reduce incompatibilities between the various extension packages, Functions lets you reference an extension bundle in your host.json project file. Pokud se rozhodnete nepoužívat sady rozšíření, budete také muset nainstalovat sadu .NET Core 2. x SDK místně a udržovat rozšíření. csproj pomocí projektu Functions.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.

Ve verzi 2. x a mimo Azure Functions runtime musíte explicitně zaregistrovat rozšíření pro typy vazeb používané ve vašich funkcích.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. Můžete zvolit instalaci rozšíření vazby jednotlivě nebo můžete přidat odkaz na balíček rozšíření na host.jsv souboru projektu.You can choose to install binding extensions individually, or you can add an extension bundle reference to the host.json project file. Sady rozšíření odstraňují možnost mít problémy s kompatibilitou balíčků při použití více typů vazeb.Extension bundles removes the chance of having package compatibility issues when using multiple binding types. Je doporučený postup pro registraci rozšíření vazby.It is the recommended approach for registering binding extensions. Sady rozšíření také odstraňují požadavek na instalaci sady .NET Core 2. x SDK.Extension bundles also removes the requirement of installing the .NET Core 2.x SDK.

Použití sad rozšířeníUse extension bundles

Nejjednodušší způsob, jak nainstalovat rozšíření vazby, je povolit sady rozšíření.The easiest way to install binding extensions is to enable extension bundles. Pokud povolíte sady, automaticky se nainstaluje předdefinovaná sada balíčků rozšíření.When you enable bundles, a predefined set of extension packages is automatically installed.

Pokud chcete povolit sady rozšíření, otevřete host.jsv souboru a aktualizujte jeho obsah tak, aby odpovídal následujícímu kódu: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)"
    }
}

Další informace najdete v tématu Registrace rozšíření vazby Azure Functions.To learn more, see Register Azure Functions binding extensions. Než přidáte vazby do function.jsv souboru, měli byste do host.jspřidat balíčky rozšíření.You should add extension bundles to the host.json before you add bindings to the function.json file.

Explicitní instalace rozšířeníExplicitly install extensions

Pokud nemůžete použít rozšiřující balíčky, můžete použít Azure Functions Core Tools lokálně k instalaci specifických balíčků rozšíření vyžadovaných vaším projektem.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.

Důležité

Rozšíření nemůžete explicitně nainstalovat do aplikace Function App, která používá sady rozšíření.You can't explicitly install extensions in a function app that is using extension bundles. extensionBundlePřed explicitní instalací rozšíření odeberte část v host.js .Remove the extensionBundle section in host.json before explicitly installing extensions.

Následující položky popisují některé důvody, proč možná budete muset nainstalovat rozšíření ručně:The following items describe some reasons you might need to install extensions manually:

  • Je potřeba, abyste měli přístup ke konkrétní verzi rozšíření, která není v balíčku k dispozici.You need to access a specific version of an extension not available in a bundle.
  • Musíte mít přístup k vlastnímu rozšíření, které není k dispozici v sadě prostředků.You need to access a custom extension not available in a bundle.
  • Je potřeba, abyste měli přístup k určité kombinaci rozšíření, která nejsou v jednom svazku k dispozici.You need to access a specific combination of extensions not available in a single bundle.

Poznámka

Chcete-li ručně nainstalovat rozšíření pomocí základních nástrojů, je nutné mít nainstalovanou sadu .NET Core 2. x SDK .To manually install extensions by using Core Tools, you must have the .NET Core 2.x SDK installed. .NET Core SDK používá Azure Functions Core Tools k instalaci rozšíření ze sady NuGet.The .NET Core SDK is used by Azure Functions Core Tools to install extensions from NuGet. Pro použití rozšíření Azure Functions nemusíte znát .NET.You don't need to know .NET to use Azure Functions extensions.

Při explicitní instalaci rozšíření se do kořenového adresáře projektu přidá soubor projektu .NET s názvem Extensions. csproj.When you explicitly install extensions, a .NET project file named extensions.csproj is added to the root of your project. Tento soubor definuje sadu balíčků NuGet vyžadovaných vašimi funkcemi.This file defines the set of NuGet packages required by your functions. I když můžete pracovat s odkazy na balíček NuGet v tomto souboru, nástroj Core Tools vám umožní nainstalovat rozšíření bez nutnosti ručně upravovat soubor.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.

Existuje několik způsobů, jak pomocí základních nástrojů nainstalovat požadovaná rozšíření do svého místního projektu.There are several ways to use Core Tools to install the required extensions in your local project.

Nainstalovat všechna rozšířeníInstall all extensions

Pomocí následujícího příkazu můžete automaticky přidat všechny balíčky rozšíření používané vazbami v místním projektu:Use the following command to automatically add all extension packages used by the bindings in your local project:

func extensions install

Příkaz přečte function.jsv souboru, kde zjistíte, které balíčky potřebujete, nainstaluje a znovu sestaví projekt rozšíření (Extensions. csproj).The command reads the function.json file to see which packages you need, installs them, and rebuilds the extensions project (extensions.csproj). Přidává nové vazby v aktuální verzi, ale neaktualizuje stávající vazby.It adds any new bindings at the current version but does not update existing bindings. Použijte --force možnost aktualizace existujících vazeb na nejnovější verzi při instalaci nových.Use the --force option to update existing bindings to the latest version when installing new ones.

Pokud vaše aplikace Function App používá vazby, které základní nástroje nerozpoznají, je nutné ručně nainstalovat konkrétní rozšíření.If your function app uses bindings that Core Tools does not recognize, you must manually install the specific extension.

Instalace konkrétního rozšířeníInstall a specific extension

Pomocí následujícího příkazu nainstalujte konkrétní balíček rozšíření v konkrétní verzi, v tomto případě rozšíření úložiště: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

Soubor místního nastaveníLocal settings file

local.settings.jsv souboru ukládá nastavení aplikace, připojovací řetězce a nastavení, které používají místní vývojové nástroje.The local.settings.json file stores app settings, connection strings, and settings used by local development tools. Nastavení v local.settings.jsv souboru se používají pouze v případě, že používáte projekty místně.Settings in the local.settings.json file are used only when you're running projects locally. Soubor místních nastavení má tuto strukturu: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>"
  }
}

Tato nastavení jsou podporována při spuštění projektů místně:These settings are supported when you run projects locally:

NastaveníSetting PopisDescription
IsEncrypted Pokud je toto nastavení nastaveno na hodnotu true , všechny hodnoty budou šifrovány pomocí klíče místního počítače.When this setting is set to true, all values are encrypted with a local machine key. Používá se s func settings příkazy.Used with func settings commands. Výchozí hodnota je false.Default value is false. Můžete chtít šifrovat local.settings.jsv souboru na místním počítači, když obsahuje tajné kódy, jako jsou například připojovací řetězce služby.You might want to encrypt the local.settings.json file on your local computer when it contains secrets, such as service connection strings. Hostitel při spuštění automaticky dešifruje nastavení.The host automatically decrypts settings when it runs. func settings decryptPřed pokusem o čtení místně zašifrovaného nastavení použijte příkaz.Use the func settings decrypt command before trying to read locally encrypted settings.
Values Pole nastavení aplikace a připojovacích řetězců, které se použijí, když je projekt spuštěn místně.Array of application settings and connection strings used when a project is running locally. Tyto páry klíč-hodnota (řetězcové řetězce) odpovídají nastavení aplikace ve vaší aplikaci Function App v Azure, jako je AzureWebJobsStorage .These key-value (string-string) pairs correspond to application settings in your function app in Azure, like AzureWebJobsStorage. Mnoho triggerů a vazeb má vlastnost, která odkazuje na nastavení aplikace připojovacího řetězce, jako Connection je například Trigger služby Blob Storage.Many triggers and bindings have a property that refers to a connection string app setting, like Connection for the Blob storage trigger. U těchto vlastností potřebujete nastavení aplikace definované v poli Values .For these properties, you need an application setting defined in the Values array. Seznam běžně používaných nastavení najdete v následující tabulce.See the subsequent table for a list of commonly used settings.
Hodnoty musí být řetězce, nikoli objekty nebo pole JSON.Values must be strings and not JSON objects or arrays. Názvy nastavení nemůžou obsahovat dvojtečku ( : ) nebo dvojitou vlnovku ( __ ).Setting names can't include a colon (:) or a double underline (__). Znaky dvojitého podtržení jsou rezervovány modulem runtime a dvojtečka je vyhrazena pro vkládání závislostí.Double underline characters are reserved by the runtime, and the colon is reserved to support dependency injection.
Host Nastavení v této části přizpůsobuje hostitelský proces Functions, když spouštíte projekty místně.Settings in this section customize the Functions host process when you run projects locally. Tato nastavení jsou oddělená od host.jsnastavení, která platí i při spuštění projektů v Azure.These settings are separate from the host.json settings, which also apply when you run projects in Azure.
LocalHttpPort Nastaví výchozí port, který se používá při spuštění místního hostitele funkcí ( func host start a func run ).Sets the default port used when running the local Functions host (func host start and func run). --portMožnost příkazového řádku má přednost před tímto nastavením.The --port command-line option takes precedence over this setting. Například při spuštění v prostředí Visual Studio IDE můžete změnit číslo portu tak, že přejdete do okna Vlastnosti projektu – > ladění a explicitně zadáte číslo portu v host start --port <your-port-number> příkazu, který lze zadat v poli argumenty aplikace.For example, when running in Visual Studio IDE, you may change the port number by navigating to the "Project Properties -> Debug" window and explicitly specifying the port number in a host start --port <your-port-number> command that can be supplied in the "Application Arguments" field.
CORS Definuje zdroje povolené pro sdílení prostředků mezi zdroji (CORS).Defines the origins allowed for cross-origin resource sharing (CORS). Zdroje jsou zadány jako čárkami oddělený seznam bez mezer.Origins are supplied as a comma-separated list with no spaces. Je podporována znaková hodnota ( * ), která umožňuje požadavky z libovolného původu.The wildcard value (*) is supported, which allows requests from any origin.
CORSCredentials Pokud je nastavena na true , umožňuje withCredentials požadavky.When set to true, allows withCredentials requests.
ConnectionStrings Kolekce.A collection. Tuto kolekci nepoužívejte pro připojovací řetězce používané vašimi vazbami funkcí.Don't use this collection for the connection strings used by your function bindings. Tato kolekce je používána pouze rozhraními, která obvykle získávají připojovací řetězce z ConnectionStrings oddílu konfiguračního souboru, například 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. Připojovací řetězce v tomto objektu jsou přidány do prostředí s typem zprostředkovatele System. data. SqlClient.Connection strings in this object are added to the environment with the provider type of System.Data.SqlClient. Položky v této kolekci se nepublikují do Azure s dalšími nastaveními aplikací.Items in this collection aren't published to Azure with other app settings. Tyto hodnoty musíte explicitně přidat do Connection strings kolekce nastavení aplikace Function App.You must explicitly add these values to the Connection strings collection of your function app settings. Pokud vytváříte SqlConnection v kódu funkce, měli byste uložit hodnotu připojovacího řetězce s ostatními připojeními v nastavení aplikace na portálu.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.

Při místním spuštění může být v poli zahrnuto následující nastavení aplikace Values :The following application settings can be included in the Values array when running locally:

NastaveníSetting HodnotyValues PopisDescription
AzureWebJobsStorage Připojovací řetězec účtu úložiště neboStorage account connection string, or
UseDevelopmentStorage=true
Obsahuje připojovací řetězec pro účet úložiště Azure.Contains the connection string for an Azure storage account. Vyžaduje se při použití triggerů než HTTP.Required when using triggers other than HTTP. Další informace najdete v AzureWebJobsStorage referenčních informacích.For more information, see the AzureWebJobsStorage reference.
Pokud máte emulátor Azure Storage nainstalovaný místně a nastavíte AzureWebJobsStorage pro UseDevelopmentStorage=true , základní nástroje používají emulátor.When you have the Azure Storage Emulator installed locally and you set AzureWebJobsStorage to UseDevelopmentStorage=true, Core Tools uses the emulator. Emulátor je užitečný během vývoje, ale před nasazením je třeba otestovat pomocí skutečného připojení úložiště.The emulator is useful during development, but you should test with an actual storage connection before deployment.
AzureWebJobs.<FUNCTION_NAME>.Disabled true|false Chcete-li zakázat funkci při místním spuštění, přidejte "AzureWebJobs.<FUNCTION_NAME>.Disabled": "true" do kolekce, kde <FUNCTION_NAME> je název funkce.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. Další informace najdete v tématu zakázání funkcí v Azure FunctionsTo learn more, see How to disable functions in Azure Functions
FUNCTIONS_WORKER_RUNTIME dotnet
node
java
powershell
python
Označuje cílový jazyk modulu runtime Functions.Indicates the targeted language of the Functions runtime. Vyžadováno pro verzi 2. x a vyšší z modulu runtime Functions.Required for version 2.x and higher of the Functions runtime. Toto nastavení je vygenerováno pro váš projekt pomocí základních nástrojů.This setting is generated for your project by Core Tools. Další informace najdete v FUNCTIONS_WORKER_RUNTIME referenčních informacích.To learn more, see the FUNCTIONS_WORKER_RUNTIME reference.
FUNCTIONS_WORKER_RUNTIME_VERSION ~7 Indikuje, že se má používat PowerShell 7 při místním spuštění.Indicates that PowerShell 7 be used when running locally. Pokud není nastavená, použije se PowerShell Core 6.If not set, then PowerShell Core 6 is used. Toto nastavení se používá jenom v případě, že je spuštěný místně.This setting is only used when running locally. Při spuštění v Azure se verze modulu runtime PowerShellu určuje podle powerShellVersion nastavení konfigurace lokality, které se dá nastavit na portálu.When running in Azure, the PowerShell runtime version is determined by the powerShellVersion site configuration setting, which can be set in the portal.

Ve výchozím nastavení se tato nastavení nemigrují automaticky, když je projekt publikován do Azure.By default, these settings are not migrated automatically when the project is published to Azure. --publish-local-settings Při publikování použijte přepínač, abyste měli jistotu, že se tato nastavení přidají do aplikace Function App v Azure.Use the --publish-local-settings switch when you publish to make sure these settings are added to the function app in Azure. Všimněte si, že hodnoty v connectionStrings nejsou nikdy publikovány.Note that values in ConnectionStrings are never published.

Hodnoty nastavení aplikace Function App lze ve vašem kódu přečíst také jako proměnné prostředí.The function app settings values can also be read in your code as environment variables. Další informace naleznete v části proměnné prostředí v těchto referenčních tématech specifických pro konkrétní jazyk:For more information, see the Environment variables section of these language-specific reference topics:

Pokud není nastaven žádný platný připojovací řetězec úložiště pro AzureWebJobsStorage a emulátor se nepoužívá, zobrazí se následující chybová zpráva:When no valid storage connection string is set for AzureWebJobsStorage and the emulator isn't being used, the following error message is shown:

Chybějící hodnota pro AzureWebJobsStorage v local.settings.js.Missing value for AzureWebJobsStorage in local.settings.json. To je vyžadováno pro všechny triggery kromě HTTP.This is required for all triggers other than HTTP. Můžete spustit rutinu Func Azure functionapp Fetch-App-Settings <functionAppName> nebo zadat připojovací řetězec v local.settings.js.You can run 'func azure functionapp fetch-app-settings <functionAppName>' or specify a connection string in local.settings.json.

Získání připojovacích řetězců úložištěGet your storage connection strings

I při použití Emulátor úložiště Microsoft Azure pro vývoj budete možná chtít testovat pomocí skutečného připojení úložiště.Even when using the Microsoft Azure Storage Emulator for development, you may want to test with an actual storage connection. Za předpokladu, že jste již vytvořili účet úložiště, můžete získat platný připojovací řetězec úložiště jedním z následujících způsobů:Assuming you have already created a storage account, you can get a valid storage connection string in one of the following ways:

  • V Azure Portalvyhledejte a vyberte účty úložiště.From the Azure portal, search for and select Storage accounts. Vyberte účty úložiště z Azure PortalSelect Storage accounts from Azure portal

    Vyberte svůj účet úložiště, vyberte přístupové klíče v Nastavení a pak zkopírujte jednu z hodnot připojovacího řetězce .Select your storage account, select Access keys in Settings, then copy one of the Connection string values. Kopírovat připojovací řetězec z Azure PortalCopy connection string from Azure portal

  • Pomocí Průzkumník služby Azure Storage se připojte ke svému účtu Azure.Use Azure Storage Explorer to connect to your Azure account. V Průzkumníku rozbalte své předplatné, rozbalte účty úložiště, vyberte svůj účet úložiště a zkopírujte primární nebo sekundární připojovací řetězec.In the Explorer, expand your subscription, expand Storage Accounts, select your storage account, and copy the primary or secondary connection string.

    Kopírovat připojovací řetězec z Průzkumník služby Storage

  • Použijte základní nástroje z kořenového adresáře projektu ke stažení připojovacího řetězce z Azure pomocí jednoho z následujících příkazů:Use Core Tools from the project root to download the connection string from Azure with one of the following commands:

    • Stáhnout všechna nastavení z existující aplikace Function App:Download all settings from an existing function app:

      func azure functionapp fetch-app-settings <FunctionAppName>
      
    • Získání připojovacího řetězce pro konkrétní účet úložiště:Get the Connection string for a specific storage account:

      func azure storage fetch-connection-string <StorageAccountName>
      

      Pokud jste se ještě přihlásili k Azure, budete vyzváni k tomu.When you aren't already signed in to Azure, you're prompted to do so. Tyto příkazy přepíšou všechna existující nastavení v local.settings.jssouboru.These commands overwrite any existing settings in the local.settings.json file.

Vytvoření funkceCreate a function

Pokud chcete vytvořit funkci, spusťte následující příkaz:To create a function, run the following command:

func new

Když ve verzi 3. x/2. x spustíte func new výzvu k výběru šablony ve výchozím jazyce aplikace Function App, zobrazí se také výzva k výběru názvu funkce.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. Ve verzi 1. x se zobrazí také výzva k výběru jazyka.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

Kód funkce se vygeneruje v podsložce se zadaným názvem funkce, jak vidíte v následujícím výstupu triggeru fronty: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

Tyto možnosti můžete zadat také v příkazu pomocí následujících argumentů:You can also specify these options in the command using the following arguments:

ArgumentArgument DescriptionDescription
--csx (Verze 2. x a novější verze) Vygeneruje stejné šablony skriptu C# (. csx), které se používají ve verzi 1. x a na portálu.(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 Programovací jazyk šablony, například C#, F # nebo JavaScript.The template programming language, such as C#, F#, or JavaScript. Tato možnost je vyžadována ve verzi 1. x.This option is required in version 1.x. Ve verzi 2. x a novějších verzích tuto možnost nepoužívejte nebo vyberte jazyk, který se shoduje s modulem runtime pracovního procesu.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 Název funkceThe function name.
--template, -t--template, -t Pomocí func templates list příkazu můžete zobrazit úplný seznam dostupných šablon pro každý podporovaný jazyk.Use the func templates list command to see the complete list of available templates for each supported language.

Například pro vytvoření triggeru HTTP JavaScriptu v jednom příkazu spusťte:For example, to create a JavaScript HTTP trigger in a single command, run:

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

Chcete-li vytvořit funkci aktivovanou frontou v jednom příkazu, spusťte příkaz:To create a queue-triggered function in a single command, run:

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

Místní spuštění funkcíRun functions locally

Chcete-li spustit projekt funkcí, spusťte hostitele Functions.To run a Functions project, run the Functions host. Hostitel povolí triggery pro všechny funkce v projektu.The host enables triggers for all functions in the project. Spouštěcí příkaz se liší v závislosti na jazyku projektu.The start command varies, depending on your project language.

func start --build

Poznámka

Verze 1. x modulu runtime Functions vyžaduje host příkaz, jak je uvedeno v následujícím příkladu:Version 1.x of the Functions runtime requires the host command, as in the following example:

func host start

func start podporuje následující možnosti:func start supports the following options:

MožnostOption PopisDescription
--no-build Nevytvářejte aktuální projekt před spuštěním.Do no build current project before running. Pouze pro projekty dotnet.For dotnet projects only. Výchozí nastavení je false.Default is set to false. Nepodporováno pro verzi 1. x.Not supported for version 1.x.
--cors-credentials Povoluje ověřené požadavky mezi zdroji (tj. soubory cookie a záhlaví ověřování) nejsou podporovány pro verzi 1. x.Allow cross-origin authenticated requests (i.e. cookies and the Authentication header) Not supported for version 1.x.
--cors Čárkami oddělený seznam původů CORS bez mezer.A comma-separated list of CORS origins, with no spaces.
--language-worker Argumenty pro konfiguraci modulu Language Worker.Arguments to configure the language worker. Můžete například povolit ladění pro Language Worker tím, že poskytnete port ladění a další požadované argumenty.For example, you may enable debugging for language worker by providing debug port and other required arguments. Nepodporováno pro verzi 1. x.Not supported for version 1.x.
--cert Cesta k souboru. pfx, který obsahuje privátní klíč.The path to a .pfx file that contains a private key. Používá se jenom pro --useHttps .Only used with --useHttps. Nepodporováno pro verzi 1. x.Not supported for version 1.x.
--password Buď heslo, nebo soubor, který obsahuje heslo pro soubor. pfx.Either the password or a file that contains the password for a .pfx file. Používá se jenom pro --cert .Only used with --cert. Nepodporováno pro verzi 1. x.Not supported for version 1.x.
--port, -p--port, -p Místní port, na kterém má naslouchat.The local port to listen on. Výchozí hodnota: 7071.Default value: 7071.
--pause-on-error Před ukončením procesu ponechejte další vstup.Pause for additional input before exiting the process. Používá se jenom při spouštění základních nástrojů z integrovaného vývojového prostředí (IDE).Used only when launching Core Tools from an integrated development environment (IDE).
--script-root, --prefix--script-root, --prefix Slouží k zadání cesty ke kořenu aplikace Function App, která má být spuštěna nebo nasazena.Used to specify the path to the root of the function app that is to be run or deployed. Používá se pro kompilované projekty, které generují soubory projektu do podsložky.This is used for compiled projects that generate project files into a subfolder. Například při sestavování projektu knihovny tříd jazyka C# jsou host.jsna, local.settings.jsna a function.jsna soubory generovány v kořenové podsložce s cestou, jako je například 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. V takovém případě nastavte předponu jako --script-root MyProject/bin/Debug/netstandard2.0 .In this case, set the prefix as --script-root MyProject/bin/Debug/netstandard2.0. Toto je kořen aplikace Function App při spuštění v Azure.This is the root of the function app when running in Azure.
--timeout, -t--timeout, -t Časový limit pro spuštění funkce Host v sekundách.The timeout for the Functions host to start, in seconds. Výchozí hodnota: 20 sekund.Default: 20 seconds.
--useHttps Vytvořte vazby na https://localhost:{port} místo pro http://localhost:{port} .Bind to https://localhost:{port} rather than to http://localhost:{port}. Ve výchozím nastavení tato možnost vytvoří důvěryhodný certifikát na vašem počítači.By default, this option creates a trusted certificate on your computer.

Když se hostitel funkce spustí, vypíše adresu URL funkcí aktivovaných protokolem HTTP: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

Důležité

Při místním spuštění není autorizace pro koncové body HTTP vynutila.When running locally, authorization isn't enforced for HTTP endpoints. To znamená, že všechny místní požadavky HTTP jsou zpracovávány jako authLevel = "anonymous" .This means that all local HTTP requests are handled as authLevel = "anonymous". Další informace najdete v článku vázání http.For more information, see the HTTP binding article.

Předávání testovacích dat do funkcePassing test data to a function

Chcete-li místně testovat své funkce, spusťte hostitele funkcí a koncové body volání na místním serveru pomocí požadavků HTTP.To test your functions locally, you start the Functions host and call endpoints on the local server using HTTP requests. Koncový bod, který zavoláte, závisí na typu funkce.The endpoint you call depends on the type of function.

Poznámka

V příkladech v tomto tématu se k posílání požadavků HTTP z terminálu nebo příkazového řádku používají nástroj pro otáčení.Examples in this topic use the cURL tool to send HTTP requests from the terminal or a command prompt. K odeslání požadavků HTTP na místní server můžete použít libovolný nástroj.You can use a tool of your choice to send HTTP requests to the local server. Nástroj kudrlinkou je ve výchozím nastavení k dispozici v systémech Linux a Windows 10 Build 17063 a novějších.The cURL tool is available by default on Linux-based systems and Windows 10 build 17063 and later. Ve starších oknech musíte nejdřív stáhnout a nainstalovat Nástroj pro otáčení.On older Windows, you must first download and install the cURL tool.

Obecnější informace o testovacích funkcích naleznete v tématu strategie pro testování kódu v Azure Functions.For more general information on testing functions, see Strategies for testing your code in Azure Functions.

Funkce aktivované protokolem HTTP a webhookemHTTP and webhook triggered functions

Zavoláte následující koncový bod pro místně spouštěné funkce HTTP a Webhooku:You call the following endpoint to locally run HTTP and webhook triggered functions:

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

Ujistěte se, že používáte stejný název serveru a port, na kterém hostitel funkce naslouchá.Make sure to use the same server name and port that the Functions host is listening on. Toto se zobrazí ve výstupu vygenerovaném při spouštění hostitele funkce.You see this in the output generated when starting the Function host. Tuto adresu URL můžete zavolat pomocí jakékoli metody HTTP podporované triggerem.You can call this URL using any HTTP method supported by the trigger.

Následující příkaz oblé spustí MyHttpTrigger funkci rychlé zprovoznění z požadavku GET s parametrem Name předaným v řetězci dotazu.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

V následujícím příkladu je stejná funkce, která se volá z předávaného názvu žádosti post v textu žádosti: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"}'

Můžete vytvářet požadavky GET z prohlížeče, které přecházejí data v řetězci dotazu.You can make GET requests from a browser passing data in the query string. Pro všechny ostatní metody HTTP je nutné použít nástroj Fiddler, post nebo podobný nástroj pro testování HTTP.For all other HTTP methods, you must use cURL, Fiddler, Postman, or a similar HTTP testing tool.

Funkce, které nejsou aktivované protokolem HTTPNon-HTTP triggered functions

Pro všechny druhy funkcí kromě triggerů HTTP a webhooků a aktivačních událostí pro Event Grid můžete místně testovat své funkce voláním koncového bodu správy.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. Volání tohoto koncového bodu s požadavkem HTTP POST na místním serveru aktivuje funkci.Calling this endpoint with an HTTP POST request on the local server triggers the function.

Chcete-li otestovat Event Grid aktivované funkce místně, přečtěte si téma místní testování pomocí webové aplikace v prohlížeči.To test Event Grid triggered functions locally, see Local testing with viewer web app.

Volitelně můžete předat testovací data do provádění v těle žádosti POST.You can optionally pass test data to the execution in the body of the POST request. Tato funkce je podobná kartě test v Azure Portal.This functionality is similar to the Test tab in the Azure portal.

Zavoláte následující koncový bod správce, který aktivuje funkce jiného typu než HTTP:You call the following administrator endpoint to trigger non-HTTP functions:

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

Chcete-li předat testovací data do koncového bodu správce funkce, je nutné zadat data v těle zprávy s požadavkem POST.To pass test data to the administrator endpoint of a function, you must supply the data in the body of a POST request message. Tělo zprávy musí mít následující formát JSON:The message body is required to have the following JSON format:

{
    "input": "<trigger_input>"
}

<trigger_input>Hodnota obsahuje data ve formátu očekávaném funkcí.The <trigger_input> value contains data in a format expected by the function. Následující oblý příklad je příspěvek na QueueTriggerJS funkci.The following cURL example is a POST to a QueueTriggerJS function. V tomto případě je vstupem řetězec, který je ekvivalentní zprávě, která se má ve frontě najít.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

Použití func run příkazu (jenom verze 1. x)Using the func run command (version 1.x only)

Důležité

func runPříkaz se podporuje jenom ve verzi 1. x těchto nástrojů.The func run command is only supported in version 1.x of the tools. Další informace naleznete v tématu jak cílit na Azure Functions verze modulu runtime.For more information, see the topic How to target Azure Functions runtime versions.

Ve verzi 1. x můžete také vyvolat funkci přímo pomocí func run <FunctionName> a zadat vstupní data pro funkci.In version 1.x, you can also invoke a function directly by using func run <FunctionName> and provide input data for the function. Tento příkaz je podobný spuštění funkce pomocí karty test v Azure Portal.This command is similar to running a function using the Test tab in the Azure portal.

func run podporuje následující možnosti:func run supports the following options:

MožnostOption PopisDescription
--content, -c--content, -c Vložený obsah.Inline content.
--debug, -d--debug, -d Před spuštěním funkce připojte k hostitelskému procesu ladicí program.Attach a debugger to the host process before running the function.
--timeout, -t--timeout, -t Doba, po kterou se má čekat (v sekundách), dokud nebude hostitel místní funkce připravený.Time to wait (in seconds) until the local Functions host is ready.
--file, -f--file, -f Název souboru, který se má použít jako obsahThe file name to use as content.
--no-interactive Nezobrazuje výzvu k zadání.Does not prompt for input. Užitečné pro scénáře automatizace.Useful for automation scenarios.

Například pro volání funkce aktivované protokolem HTTP a předejte tělo obsahu spusťte následující příkaz:For example, to call an HTTP-triggered function and pass content body, run the following command:

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

Publikování do AzurePublish to Azure

Azure Functions Core Tools podporuje dva typy nasazení: nasazení souborů projektu funkce přímo do aplikace Function App prostřednictvím nástroje zip Deploy a nasazení vlastního kontejneru Docker.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. Musíte mít už vytvořenou aplikaci Function App v předplatném Azure, do které budete kód nasazovat.You must have already created a function app in your Azure subscription, to which you'll deploy your code. Projekty, které vyžadují kompilaci, by měly být sestaveny tak, aby mohly být nasazeny binární soubory.Projects that require compilation should be built so that the binaries can be deployed.

Důležité

Aby bylo možné publikovat do Azure ze základních nástrojů, musíte mít místně nainstalované rozhraní příkazového řádku Azure nebo Azure PowerShell .You must have the Azure CLI or Azure PowerShell installed locally to be able to publish to Azure from Core Tools.

Složka projektu může obsahovat soubory a adresáře specifické pro konkrétní jazyk, které by neměly být publikovány.A project folder may contain language-specific files and directories that shouldn't be published. Vyloučené položky jsou uvedeny v souboru. funcignore v kořenové složce projektu.Excluded items are listed in a .funcignore file in the root project folder.

Nasadit soubory projektuDeploy project files

Pokud chcete publikovat místní kód do aplikace Function App v Azure, použijte publish příkaz:To publish your local code to a function app in Azure, use the publish command:

func azure functionapp publish <FunctionAppName>

Důležité

Java používá Maven k publikování místního projektu do Azure.Java uses Maven to publish your local project to Azure. K publikování do Azure použijte následující příkaz: mvn azure-functions:deploy .Use the following command to publish to Azure: mvn azure-functions:deploy. Prostředky Azure se vytvářejí při počátečním nasazení.Azure resources are created during initial deployment.

Tento příkaz se publikuje do existující aplikace Function App v Azure.This command publishes to an existing function app in Azure. Pokud se pokusíte publikovat do <FunctionAppName> , který ve vašem předplatném neexistuje, zobrazí se chyba.You'll get an error if you try to publish to a <FunctionAppName> that doesn't exist in your subscription. Informace o tom, jak vytvořit aplikaci funkcí z příkazového řádku nebo okna terminálu pomocí Azure CLI nebo Azure PowerShell, najdete v tématu vytvoření Function App pro provádění bez serveru.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. Ve výchozím nastavení tento příkaz používá vzdálené sestavení a nasadí vaši aplikaci, aby běžela z balíčku pro nasazení.By default, this command uses remote build and deploys your app to run from the deployment package. Pokud chcete tento doporučený režim nasazení zakázat, použijte --nozip možnost.To disable this recommended deployment mode, use the --nozip option.

Důležité

Když vytvoříte aplikaci funkcí v Azure Portal, používá ve výchozím nastavení verzi 3. x modulu runtime funkce.When you create a function app in the Azure portal, it uses version 3.x of the Function runtime by default. Pokud chcete, aby aplikace Function App používala verzi 1. x modulu runtime, postupujte podle pokynů v části Spustit ve verzi 1. x.To make the function app use version 1.x of the runtime, follow the instructions in Run on version 1.x. Nemůžete změnit verzi modulu runtime pro aplikaci Function App, která obsahuje existující funkce.You can't change the runtime version for a function app that has existing functions.

Následující možnosti publikování platí pro všechny verze:The following publish options apply for all versions:

MožnostOption PopisDescription
--publish-local-settings -i Nastavení publikování v local.settings.jsv systému Azure. zobrazí se výzva k přepsání, pokud už nastavení existuje.Publish settings in local.settings.json to Azure, prompting to overwrite if the setting already exists. Pokud používáte Emulátor úložiště Microsoft Azure, změňte nejprve nastavení aplikace na skutečné připojení úložiště.If you are using the Microsoft Azure Storage Emulator, first change the app setting to an actual storage connection.
--overwrite-settings -y Potlačí výzvu k přepsání nastavení aplikace --publish-local-settings -i , když se použije.Suppress the prompt to overwrite app settings when --publish-local-settings -i is used.

Následující možnosti publikování jsou podporovány pouze pro verzi 2. x a novější verze:The following publish options are supported only for version 2.x and later versions:

MožnostOption PopisDescription
--publish-settings-only, -o--publish-settings-only, -o Pouze publikování nastavení a přeskočení obsahu.Only publish settings and skip the content. Výchozí hodnota je prompt.Default is prompt.
--list-ignored-files Zobrazí seznam souborů, které jsou během publikování ignorovány, které jsou založeny na souboru. funcignore.Displays a list of files that are ignored during publishing, which is based on the .funcignore file.
--list-included-files Zobrazí seznam souborů, které jsou publikovány, které jsou založeny na souboru. funcignore.Displays a list of files that are published, which is based on the .funcignore file.
--nozip Zapne výchozí Run-From-Package režim.Turns the default Run-From-Package mode off.
--build-native-deps Při publikování aplikací funkcí Pythonu přeskočí vygenerování složky. kolaes.Skips generating .wheels folder when publishing Python function apps.
--build, -b--build, -b Provede akci sestavení při nasazení do aplikace Functions pro Linux.Performs build action when deploying to a Linux function app. Akceptuje: remote a local .Accepts: remote and local.
--additional-packages Seznam balíčků, které se mají nainstalovat při vytváření nativních závislostíList of packages to install when building native dependencies. Příklad: python3-dev libevent-dev.For example: python3-dev libevent-dev.
--force Ignorovat ověření před publikováním v některých scénářích.Ignore pre-publishing verification in certain scenarios.
--csx Publikujte projekt skriptu C# (. csx).Publish a C# script (.csx) project.
--no-build Projekt není sestaven během publikování.Project isn't built during publishing. Pro Python se pip install neprovede.For Python, pip install isn't performed.
--dotnet-cli-params Při publikování kompilovaných funkcí jazyka C# (. csproj) volá základní nástroje "dotnet Build--Output bin/Publish".When publishing compiled C# (.csproj) functions, the core tools calls 'dotnet build --output bin/publish'. Všechny předané parametry budou připojeny k příkazovému řádku.Any parameters passed to this will be appended to the command line.

Nasazení vlastního kontejneruDeploy custom container

Azure Functions umožňuje nasadit projekt funkce ve vlastním kontejneru Docker.Azure Functions lets you deploy your function project in a custom Docker container. Další informace najdete v tématu Vytvoření funkce na platformě Linux s použitím vlastní image.For more information, see Create a function on Linux using a custom image. Vlastní kontejnery musí mít souboru Dockerfile.Custom containers must have a Dockerfile. Pokud chcete vytvořit aplikaci s souboru Dockerfile, použijte možnost--souboru Dockerfile na func init .To create an app with a Dockerfile, use the --dockerfile option on func init.

func deploy

K dispozici jsou následující možnosti nasazení vlastního kontejneru:The following custom container deployment options are available:

MožnostOption PopisDescription
--registry Název registru Docker, ke kterému se přihlásil aktuální uživatel.The name of a Docker Registry the current user signed-in to.
--platform Platforma hostování aplikace Function App.Hosting platform for the function app. Platné možnosti jsou kubernetesValid options are kubernetes
--name Název aplikace Function AppFunction app name.
--max Volitelně můžete nastavit maximální počet instancí aplikace Function App, na které se mají nasadit.Optionally, sets the maximum number of function app instances to deploy to.
--min Volitelně nastaví minimální počet instancí aplikace Function App, na které se má nasadit.Optionally, sets the minimum number of function app instances to deploy to.
--config Nastaví volitelný konfigurační soubor nasazení.Sets an optional deployment configuration file.

Funkce monitorováníMonitoring functions

Doporučený způsob, jak monitorovat provádění vašich funkcí, je integrace s Azure Application Insights.The recommended way to monitor the execution of your functions is by integrating with Azure Application Insights. Do svého místního počítače můžete také streamovat protokoly spouštění.You can also stream execution logs to your local computer. Další informace najdete v tématu monitorování Azure Functions.To learn more, see Monitor Azure Functions.

Integrace Application InsightsApplication Insights integration

Při vytváření aplikace Function App v Azure by měla být povolená integrace Application Insights.Application Insights integration should be enabled when you create your function app in Azure. Pokud z nějakého důvodu vaše aplikace Function není připojená k instanci Application Insights, můžete tuto integraci snadno provést v 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. Další informace najdete v tématu Povolení integrace Application Insights.To learn more, see Enable Application Insights integration.

Povolit streamování protokolůEnable streaming logs

Proud souborů protokolu generovaných funkcemi můžete zobrazit v relaci příkazového řádku na místním počítači.You can view a stream of log files being generated by your functions in a command-line session on your local computer.

Integrované streamování protokolůBuilt-in log streaming

Pomocí možnosti logstream spustíte příjem protokolů streamování konkrétní aplikace funkcí běžící v Azure, jako v následujícím příkladu: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>

Poznámka

Integrované streamování protokolů ještě není povolené v základních nástrojích pro aplikace Function App spuštěné v systému Linux v plánu spotřeby.Built-in log streaming isn't yet enabled in Core Tools for function apps running on Linux in a Consumption plan. Pro tyto plány hostování je místo toho nutné použít Live Metrics Stream k zobrazení protokolů téměř v reálném čase.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

Live Metrics Stream pro aplikaci Function App můžete zobrazit v novém okně prohlížeče --browser , včetně možnosti, jak je uvedeno v následujícím příkladu: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

Tento typ protokolů streamování vyžaduje, aby byla pro aplikaci Function App povolená Application Insights integrace.This type of streaming logs requires that Application Insights integration be enabled for your function app.

Další krokyNext steps

Naučte se vyvíjet, testovat a publikovat Azure Functions pomocí Azure Functions Core Tools modulu Microsoft učení Azure Functions Core Tools je Open Source a hostovaný na GitHubu.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.
Pokud chcete zaslat žádost o chybu nebo funkci, otevřete problém GitHubu.To file a bug or feature request, open a GitHub issue.