Pracuj z Azure Functions Core ToolsWork with Azure Functions Core Tools

Azure Functions Core Tools umożliwia tworzenie i testowanie funkcji na komputerze lokalnym z poziomu wiersza polecenia lub terminalu.Azure Functions Core Tools lets you develop and test your functions on your local computer from the command prompt or terminal. Funkcje lokalne mogą łączyć się z aktywnymi usługami platformy Azure, a funkcje można debugować na komputerze lokalnym za pomocą środowiska uruchomieniowego 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. Możesz nawet wdrożyć aplikację funkcji w ramach subskrypcji platformy Azure.You can even deploy a function app to your Azure subscription.

Ważne

Nie należy mieszać lokalnego opracowywania aplikacji za pomocą portalu w tej samej aplikacji funkcji.Do not mix local development with portal development in the same function app. Podczas tworzenia i publikowania funkcji z projektu lokalnego, możesz nie należy próbować zachować lub zmodyfikować kod projektu w portalu.When you create and publish functions from a local project, you should not try to maintain or modify project code in the portal.

Tworzenie funkcji na komputerze lokalnym i publikowanie ich na platformie Azure przy użyciu narzędzi podstawowych wykonuje następujące podstawowe czynności:Developing functions on your local computer and publishing them to Azure using Core Tools follows these basic steps:

Wersje podstawowych narzędziCore Tools versions

Istnieją dwie wersje Azure Functions Core Tools.There are two versions of Azure Functions Core Tools. Używana wersja zależy od lokalnego środowiska programistycznego, wyboru językai wymaganego poziomu pomocy technicznej:The version you use depends on your local development environment, choice of language, and level of support required:

Jeśli nie określono inaczej, przykłady w tym artykule dotyczą wersji 2. x.Unless otherwise noted, the examples in this article are for version 2.x.

Instalowanie podstawowych narzędzi usługi Azure FunctionsInstall the Azure Functions Core Tools

Azure Functions Core Tools obejmuje wersję tego samego środowiska uruchomieniowego, która umożliwia Azure Functions środowisko uruchomieniowe, które można uruchomić na lokalnym komputerze deweloperskim.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. Udostępnia również polecenia służące do tworzenia funkcji, łączenia się z platformą Azure i wdrażania projektów funkcji.It also provides commands to create functions, connect to Azure, and deploy function projects.

Wersja 2. xVersion 2.x

W wersji 2. x narzędzi jest używane środowisko uruchomieniowe Azure Functions 2. x, które jest oparte na platformie .NET Core.Version 2.x of the tools uses the Azure Functions runtime 2.x that is built on .NET Core. Ta wersja jest obsługiwana na wszystkich platformach .NET Core 2. x obsługuje, w tym Windows, macOSi Linux.This version is supported on all platforms .NET Core 2.x supports, including Windows, macOS, and Linux.

Ważne

Istnieje możliwość obejścia wymagania dotyczącego instalowania zestawu SDK platformy .NET Core 2. x przy użyciu Pakiety rozszerzeń.You can bypass the requirement for installing the .NET Core 2.x SDK by using extension bundles.

WindowsWindows

Poniższe kroki służą do instalowania podstawowych narzędzi w systemie Windows przy użyciu programu npm.The following steps use npm to install Core Tools on Windows. Możesz również użyć czekolady.You can also use Chocolatey. Aby uzyskać więcej informacji, zobacz plik Readme podstawowych narzędzi.For more information, see the Core Tools readme.

  1. Zainstaluj program Node.js, który obejmuje npm.Install Node.js, which includes npm. W przypadku wersji 2. x narzędzi obsługiwane są tylko wersje Node. js 8,5 i nowsze.For version 2.x of the tools, only Node.js 8.5 and later versions are supported.

  2. Zainstaluj pakiet podstawowych narzędzi:Install the Core Tools package:

    npm install -g azure-functions-core-tools
    

    Pobranie i zainstalowanie pakietu podstawowych narzędzi może potrwać kilka minut.It may take a few minutes for npm to download and install the Core Tools package.

  3. Jeśli nie planujesz używania Pakiety rozszerzeń, zainstaluj zestaw SDK programu .NET Core 2. x dla systemu Windows.If you do not plan to use extension bundles, install the .NET Core 2.x SDK for Windows.

MacOS z oprogramowania HomebrewMacOS with Homebrew

Poniższe kroki używają oprogramowania homebrew, aby zainstalować podstawowe narzędzia na macOS.The following steps use Homebrew to install the Core Tools on macOS.

  1. Zainstaluj program oprogramowania Homebrew, jeśli nie jest jeszcze zainstalowany.Install Homebrew, if it's not already installed.

  2. Zainstaluj pakiet podstawowych narzędzi:Install the Core Tools package:

    brew tap azure/functions
    brew install azure-functions-core-tools
    
  3. Jeśli nie planujesz używania Pakiety rozszerzeń, zainstaluj zestaw .NET Core 2. x SDK dla macOS.If you do not plan to use extension bundles, install .NET Core 2.x SDK for macOS.

Linux (Ubuntu/Debian) z APTLinux (Ubuntu/Debian) with APT

Poniższe kroki używają apt do instalowania podstawowych narzędzi w dystrybucji systemu Ubuntu/Debian Linux.The following steps use APT to install Core Tools on your Ubuntu/Debian Linux distribution. Aby poznać inne dystrybucje systemu Linux, zobacz plik Readme podstawowych narzędzi.For other Linux distributions, see the Core Tools readme.

  1. Zainstaluj klucz GPG repozytorium pakietów Microsoft, aby zweryfikować integralność pakietu:Install the Microsoft package repository GPG key, to validate package integrity:

    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
    
  2. Sprawdź, czy na serwerze Ubuntu jest uruchomiona jedna z odpowiednich wersji z poniższej tabeli.Verify your Ubuntu server is running one of the appropriate versions from the table below. Aby dodać Źródło apt, uruchom polecenie:To add the apt source, run:

    sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-$(lsb_release -cs)-prod $(lsb_release -cs) main" > /etc/apt/sources.list.d/dotnetdev.list'
    sudo apt-get update
    
    Dystrybucja systemu LinuxLinux distribution VersionVersion
    Ubuntu 18,10Ubuntu 18.10 cosmic
    Ubuntu 18.04Ubuntu 18.04 bionic
    Ubuntu 17.04Ubuntu 17.04 zesty
    Ubuntu 16.04/Linux mennic 18Ubuntu 16.04/Linux Mint 18 xenial
  3. Zainstaluj pakiet podstawowych narzędzi:Install the Core Tools package:

    sudo apt-get install azure-functions-core-tools
    
  4. Jeśli nie planujesz używania Pakiety rozszerzeń, zainstaluj program .NET Core 2. x SDK dla systemu Linux.If you do not plan to use extension bundles, install .NET Core 2.x SDK for Linux.

Tworzenie lokalnego projektu usługi FunctionsCreate a local Functions project

Katalog projektu usługi Functions zawiera pliki pliku host. JSON oraz Local. Settings. JSON, a także podfoldery zawierające kod dla poszczególnych funkcji.A functions project directory contains the files host.json and local.settings.json, along with subfolders that contain the code for individual functions. Ten katalog jest odpowiednikiem aplikacji funkcji na platformie Azure.This directory is the equivalent of a function app in Azure. Aby dowiedzieć się więcej na temat struktury folderu Functions, zobacz Przewodnik po programie Azure Functions Developers.To learn more about the Functions folder structure, see the Azure Functions developers guide.

Wersja 2. x wymaga wybrania domyślnego języka dla projektu, gdy zostanie on zainicjowany, a wszystkie funkcje zostały dodane Użyj domyślnych szablonów języka.Version 2.x requires you to select a default language for your project when it is initialized, and all functions added use default language templates. W wersji 1. x należy określić język za każdym razem, gdy tworzysz funkcję.In version 1.x, you specify the language each time you create a function.

W oknie terminalu lub w wierszu polecenia Uruchom następujące polecenie, aby utworzyć projekt i lokalne repozytorium 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

Po podaniu nazwy projektu zostanie utworzony i zainicjowany nowy folder o tej nazwie.When you provide a project name, a new folder with that name is created and initialized. W przeciwnym razie bieżący folder zostanie zainicjowany.Otherwise, the current folder is initialized.
W wersji 2. x po uruchomieniu polecenia należy wybrać środowisko uruchomieniowe dla projektu.In version 2.x, when you run the command you must choose a runtime for your project.

Select a worker runtime:
dotnet
node
python (preview)
powershell (preview)

Użyj klawiszy strzałek w górę/w dół, aby wybrać język, a następnie naciśnij klawisz ENTER.Use the up/down arrow keys to choose a language, then press Enter. Jeśli planujesz programowanie funkcji JavaScript lub TypeScript, wybierz węzeł, a następnie wybierz język.If you plan to develop JavaScript or TypeScript functions, choose node, and then select the language. Język TypeScript ma pewne dodatkowe wymagania.TypeScript has some additional requirements.

Dane wyjściowe wyglądają podobnie do następującego przykładu dla projektu JavaScript: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 initProgram obsługuje następujące opcje, które są dostępne tylko w wersji 2. x, chyba że wskazano inaczej:func init supports the following options, which are version 2.x-only, unless otherwise noted:

OpcjaOption OpisDescription
--csx Inicjuje projekt C# skryptu (. CSX).Initializes a C# script (.csx) project. Należy określić --csx w kolejnych poleceniach.You must specify --csx in subsequent commands.
--docker Utwórz pliku dockerfile dla kontenera przy użyciu obrazu podstawowego, który jest oparty na wybranym --worker-runtimez nich.Create a Dockerfile for a container using a base image that is based on the chosen --worker-runtime. Użyj tej opcji, jeśli planujesz publikowanie do niestandardowego kontenera systemu Linux.Use this option when you plan to publish to a custom Linux container.
--force Zainicjuj projekt nawet wtedy, gdy istnieją pliki w projekcie.Initialize the project even when there are existing files in the project. To ustawienie zastępuje istniejące pliki o tej samej nazwie.This setting overwrites existing files with the same name. Nie ma to wpływu na inne pliki w folderze projektu.Other files in the project folder aren't affected.
--no-source-control -n Zapobiega domyślnym tworzeniu repozytorium Git w wersji 1. x.Prevents the default creation of a Git repository in version 1.x. W wersji 2. x repozytorium Git nie jest tworzone domyślnie.In version 2.x, the git repository isn't created by default.
--source-control Określa, czy tworzone jest repozytorium git.Controls whether a git repository is created. Domyślnie repozytorium nie jest tworzone.By default, a repository isn't created. Gdy truejest tworzone repozytorium.When true, a repository is created.
--worker-runtime Ustawia środowisko uruchomieniowe języka dla projektu.Sets the language runtime for the project. Obsługiwane wartości to dotnet, node (JavaScript), javai python.Supported values are dotnet, node (JavaScript), java, and python. Gdy nie jest ustawiona, zostanie wyświetlony monit o wybranie środowiska uruchomieniowego podczas inicjowania.When not set, you are prompted to choose your runtime during initialization.

Ważne

Domyślnie wersja 2. x podstawowych narzędzi tworzy projekty aplikacji funkcji dla środowiska uruchomieniowego .NET jako C# projekty klas (. csproj).By default, version 2.x of the Core Tools creates function app projects for the .NET runtime as C# class projects (.csproj). Te C# projekty, które mogą być używane z programem Visual Studio lub Visual Studio Code, są kompilowane podczas testowania i podczas publikowania na platformie Azure.These C# projects, which can be used with Visual Studio or Visual Studio Code, are compiled during testing and when publishing to Azure. Jeśli zamiast tego chcesz utworzyć i korzystać z tych samych C# plików skryptów (. CSX) utworzonych w wersji 1. x i w portalu, musisz uwzględnić --csx parametr podczas tworzenia i wdrażania funkcji.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.

Rejestrowanie rozszerzeńRegister extensions

Z wyjątkiem HTTP oraz czasomierzem wyzwalacze, funkcje powiązania w wersji środowiska uruchomieniowego 2.x są implementowane jako pakiety rozszerzeń.With the exception of HTTP and timer triggers, Functions bindings in runtime version 2.x are implemented as extension packages. W wersji 2.x środowisko uruchomieniowe usługi Azure Functions, należy jawnie zarejestrować rozszerzenia dla typów powiązania, używany w funkcji.In version 2.x of the Azure Functions runtime, you have to explicitly register the extensions for the binding types used in your functions. Wyjątki od tej reguły są powiązania protokołu HTTP i wyzwalaczy czasomierza, które nie wymagają rozszerzeń.The exceptions to this are HTTP bindings and timer triggers, which do not require extensions.

Można zainstalować rozszerzenia powiązania indywidualnie lub można dodać odwołanie do pakietu rozszerzenia pliku host.json projektu.You can choose to install binding extensions individually, or you can add an extension bundle reference to the host.json project file. Pakiety rozszerzeń usuwa prawdopodobieństwo wystąpienia problemów ze zgodnością pakietu, korzystając z wieloma typami powiązania.Extension bundles removes the chance of having package compatibility issues when using multiple binding types. Jest to zalecane podejście do rejestrowania rozszerzeń powiązania.It is the recommended approach for registering binding extensions. Pakiety rozszerzeń również eliminuje konieczność zainstalowania platformy .NET Core 2.x SDK.Extension bundles also removes the requirement of installing the .NET Core 2.x SDK.

pakiety rozszerzeńExtension bundles

Najprostszym sposobem instalacji rozszerzeń powiązań jest włączenie pakietów rozszerzeń.The easiest way to install binding extensions is to enable extension bundles. Po włączeniu pakietów zostanie automatycznie zainstalowana wstępnie zdefiniowany zestaw pakietów rozszerzeń.When you enable bundles, a predefined set of extension packages is automatically installed.

Aby włączyć zbiory rozszerzeń, Otwórz plik host. JSON i zaktualizuj jego zawartość w celu dopasowania do następującego kodu: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)"
    }
}

Aby dowiedzieć się więcej, zobacz rejestrowania usługi Azure Functions powiązania rozszerzenia.To learn more, see Register Azure Functions binding extensions. Należy dodać rozszerzenie pakiety do host.json przed dodaniem powiązań do pliku w pliku functions.json.You should add extension bundles to the host.json before you add bindings to the functions.json file.

Zarejestruj poszczególne rozszerzeniaRegister individual extensions

Jeśli musisz zainstalować rozszerzenia, które nie znajdują się w pakiecie, możesz ręcznie zarejestrować rozszerzenia poszczególnych pakietów dla określonego powiązania.If you need to install extensions that aren't in a bundle, you can manually register individual extension packages for specific bindings.

Uwaga

Aby ręcznie zarejestrować rozszerzenia za pomocą func extensions install, konieczne jest posiadanie platformy .NET Core 2.x zainstalowany zestaw SDK.To manually register extensions by using func extensions install, you must have the .NET Core 2.x SDK installed.

Po zaktualizowaniu usługi function.json pliku, aby uwzględnić wszystkie powiązania, które wymaga funkcji, uruchom następujące polecenie w folderze projektu.After you have updated your function.json file to include all the bindings that your function needs, run the following command in the project folder.

func extensions install

Polecenie odczytuje function.json plik, aby wyświetlić pakiety, których potrzebujesz, instaluje je i ponownie kompiluje projekt rozszerzenia.The command reads the function.json file to see which packages you need, installs them, and rebuilds the extensions project. Dodanie nowych powiązań w bieżącej wersji, ale nie aktualizuje istniejące powiązania.It adds any new bindings at the current version but does not update existing bindings. Użyj --force opcję, aby zaktualizować istniejące powiązania do najnowszej wersji, podczas instalowania nowych.Use the --force option to update existing bindings to the latest version when installing new ones.

Plik ustawień lokalnychLocal settings file

Plik Local. Settings. JSON przechowuje ustawienia aplikacji, parametry połączenia i ustawienia używane przez lokalne narzędzia deweloperskie.The local.settings.json file stores app settings, connection strings, and settings used by local development tools. Ustawienia w pliku Local. Settings. JSON są używane tylko w przypadku lokalnego uruchamiania projektów.Settings in the local.settings.json file are used only when you're running projects locally. Plik ustawień lokalnych ma następującą strukturę: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>"
  },
  "Host": {
    "LocalHttpPort": 7071,
    "CORS": "*",
    "CORSCredentials": false
  },
  "ConnectionStrings": {
    "SQLConnectionString": "<sqlclient-connection-string>"
  }
}

Te ustawienia są obsługiwane podczas lokalnego uruchamiania projektów:These settings are supported when you run projects locally:

UstawienieSetting OpisDescription
IsEncrypted Gdy to ustawienie jest ustawione na true, wszystkie wartości są szyfrowane za pomocą klucza komputera lokalnego.When this setting is set to true, all values are encrypted with a local machine key. Używany z func settings poleceniami.Used with func settings commands. Wartość domyślna to false.Default value is false.
Values Tablica ustawień aplikacji i parametrów połączenia używanych, gdy projekt jest uruchomiony lokalnie.Array of application settings and connection strings used when a project is running locally. Pary klucz-wartość (String-String) odpowiadają ustawieniom aplikacji w aplikacji funkcji na platformie Azure, takich AzureWebJobsStoragejak.These key-value (string-string) pairs correspond to application settings in your function app in Azure, like AzureWebJobsStorage. Wiele wyzwalaczy i powiązań ma właściwość, która odwołuje się do ustawienia aplikacji parametrów połączenia, Connection takiego jak dla wyzwalacza usługi BLOB Storage.Many triggers and bindings have a property that refers to a connection string app setting, like Connection for the Blob storage trigger. Dla tych właściwości potrzebne jest ustawienie aplikacji zdefiniowane w Values tablicy.For these properties, you need an application setting defined in the Values array.
AzureWebJobsStoragejest wymaganym ustawieniem aplikacji dla wyzwalaczy innych niż HTTP.AzureWebJobsStorage is a required app setting for triggers other than HTTP.
Wersja 2. x środowiska uruchomieniowego funkcji wymaga ustawienia [FUNCTIONS_WORKER_RUNTIME], które jest generowane dla projektu przez podstawowe narzędzia.Version 2.x of the Functions runtime requires the [FUNCTIONS_WORKER_RUNTIME] setting, which is generated for your project by Core Tools.
Jeśli emulator usługi Azure Storage jest zainstalowany lokalnie i ustawisz AzureWebJobsStorage jako UseDevelopmentStorage=true, narzędzia podstawowe używają emulatora.When you have the Azure storage emulator installed locally and you set AzureWebJobsStorage to UseDevelopmentStorage=true, Core Tools uses the emulator. Emulator jest przydatny podczas opracowywania, ale przed wdrożeniem należy przetestować rzeczywiste połączenie z magazynem.The emulator is useful during development, but you should test with an actual storage connection before deployment.
Wartości muszą być ciągami, a nie obiektami JSON ani tablicami.Values must be strings and not JSON objects or arrays. Nazwy ustawień nie mogą zawierać dwukropka (:) ani podwójnego podkreślenia (__).Setting names can't include a colon (:) or a double underline (__). Te znaki są zarezerwowane przez środowisko uruchomieniowe.These characters are reserved by the runtime.
Host Ustawienia w tej sekcji dostosowują proces hosta funkcji w przypadku uruchamiania projektów lokalnie.Settings in this section customize the Functions host process when you run projects locally. Te ustawienia są niezależne od ustawień pliku host. JSON, które są również stosowane podczas uruchamiania projektów na platformie Azure.These settings are separate from the host.json settings, which also apply when you run projects in Azure.
LocalHttpPort Ustawia domyślny port używany podczas uruchamiania hosta funkcji lokalnych (func host start i func run).Sets the default port used when running the local Functions host (func host start and func run). Opcja --port wiersza polecenia ma pierwszeństwo przed tym ustawieniem.The --port command-line option takes precedence over this setting.
CORS Definiuje źródła dozwolone dla udostępniania zasobów między źródłami (CORS).Defines the origins allowed for cross-origin resource sharing (CORS). Źródła są dostarczane jako rozdzielana przecinkami lista bez spacji.Origins are supplied as a comma-separated list with no spaces. Wartość symbolu wieloznacznego (*) jest obsługiwana, co pozwala na żądania z dowolnego źródła.The wildcard value (*) is supported, which allows requests from any origin.
CORSCredentials Gdy ustawiona na true, zezwala withCredentials na żądania.When set to true, allows withCredentials requests.
ConnectionStrings Kolekcja.A collection. Nie używaj tej kolekcji dla parametrów połączenia używanych przez powiązania funkcji.Don't use this collection for the connection strings used by your function bindings. Ta kolekcja jest używana tylko przez platformy, które zazwyczaj pobierają parametry połączenia z ConnectionStrings sekcji pliku konfiguracji, na przykład 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. Parametry połączenia w tym obiekcie są dodawane do środowiska z typem dostawcy System. Data. SqlClient.Connection strings in this object are added to the environment with the provider type of System.Data.SqlClient. Elementy w tej kolekcji nie są publikowane na platformie Azure przy użyciu innych ustawień aplikacji.Items in this collection aren't published to Azure with other app settings. Należy jawnie dodać te wartości do Connection strings kolekcji ustawień aplikacji funkcji.You must explicitly add these values to the Connection strings collection of your function app settings. Jeśli tworzysz SqlConnection w kodzie funkcji, należy przechowywać wartość parametrów połączenia z innymi połączeniami w ustawieniach aplikacji w portalu.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.

Domyślnie te ustawienia nie są migrowane automatycznie, gdy projekt jest publikowany na platformie Azure.By default, these settings are not migrated automatically when the project is published to Azure. Użyj przełącznika podczas publikowania , aby upewnić się, że te ustawienia są dodawane do aplikacji funkcji na platformie Azure. --publish-local-settingsUse the --publish-local-settings switch when you publish to make sure these settings are added to the function app in Azure. Należy pamiętać, że wartości w connectionStrings nigdy nie są publikowane.Note that values in ConnectionStrings are never published.

Wartości ustawień aplikacji funkcji można także odczytać w kodzie jako zmienne środowiskowe.The function app settings values can also be read in your code as environment variables. Aby uzyskać więcej informacji, zobacz sekcję zmienne środowiskowe w następujących tematach referencyjnych dotyczących języka:For more information, see the Environment variables section of these language-specific reference topics:

Gdy nie ustawiono prawidłowych parametrów połączenia magazynu dla AzureWebJobsStorage i emulator nie jest używany, wyświetlany jest następujący komunikat o błędzie:When no valid storage connection string is set for AzureWebJobsStorage and the emulator isn't being used, the following error message is shown:

Brak wartości elementu AzureWebJobsStorage w pliku Local. Settings. JSON.Missing value for AzureWebJobsStorage in local.settings.json. Jest to wymagane dla wszystkich wyzwalaczy innych niż HTTP.This is required for all triggers other than HTTP. Można uruchomić polecenie "Func Azure functionapp Fetch-App-Settings <functionAppName>" lub określić parametry połączenia w pliku Local. Settings. JSON.You can run 'func azure functionapp fetch-app-settings <functionAppName>' or specify a connection string in local.settings.json.

Pobieranie parametrów połączenia magazynuGet your storage connection strings

Nawet w przypadku korzystania z emulatora magazynu na potrzeby programowania można testować przy użyciu rzeczywistego połączenia magazynu.Even when using the storage emulator for development, you may want to test with an actual storage connection. Przy założeniu, że konto magazynuzostało już utworzone, można uzyskać prawidłowe parametry połączenia magazynu w jeden z następujących sposobów:Assuming you have already created a storage account, you can get a valid storage connection string in one of the following ways:

  • Z Azure Portal.From the Azure portal. Przejdź do konta magazynu, wybierz pozycję klucze dostępu w obszarze Ustawienia, a następnie skopiuj jedną z wartości parametrów połączenia .Navigate to your storage account, select Access keys in Settings, then copy one of the Connection string values.

    Kopiuj parametry połączenia z Azure Portal

  • Użyj Eksplorator usługi Azure Storage , aby nawiązać połączenie z kontem platformy Azure.Use Azure Storage Explorer to connect to your Azure account. W EksploratorzeRozwiń swoją subskrypcję, wybierz konto magazynu i skopiuj podstawowe lub pomocnicze parametry połączenia.In the Explorer, expand your subscription, select your storage account, and copy the primary or secondary connection string.

    Kopiuj parametry połączenia z Eksplorator usługi Storage

  • Narzędzia podstawowe umożliwiają pobranie parametrów połączenia z platformy Azure przy użyciu jednego z następujących poleceń:Use Core Tools to download the connection string from Azure with one of the following commands:

    • Pobierz wszystkie ustawienia z istniejącej aplikacji funkcji:Download all settings from an existing function app:

      func azure functionapp fetch-app-settings <FunctionAppName>
      
    • Pobierz parametry połączenia dla określonego konta magazynu:Get the Connection string for a specific storage account:

      func azure storage fetch-connection-string <StorageAccountName>
      

      Jeśli jeszcze nie zalogowano się na platformie Azure, zostanie wyświetlony monit.When you are not already signed in to Azure, you are prompted to do so.

Tworzenie funkcjiCreate a function

Aby utworzyć funkcję, uruchom następujące polecenie:To create a function, run the following command:

func new

W wersji 2. x podczas uruchamiania func new zostanie wyświetlony monit o wybranie szablonu w języku domyślnym aplikacji funkcji, a następnie zostanie wyświetlony monit o wybranie nazwy funkcji.In version 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. W wersji 1. x jest również wyświetlany monit o wybranie języka.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

Kod funkcji jest generowany w podfolderze o podanej nazwie funkcji, jak widać w następujących danych wyjściowych wyzwalacza kolejki: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

Możesz również określić te opcje w poleceniu przy użyciu następujących argumentów:You can also specify these options in the command using the following arguments:

ArgumentArgument OpisDescription
--csx (Wersja 2. x) Generuje te same C# szablony skryptów (. CSX), które są używane w wersji 1. x i w portalu.(Version 2.x) Generates the same C# script (.csx) templates used in version 1.x and in the portal.
--language -l Język programowania szablonu, taki jak C#, F#lub JavaScript.The template programming language, such as C#, F#, or JavaScript. Ta opcja jest wymagana w wersji 1. x.This option is required in version 1.x. W wersji 2. x nie używaj tej opcji lub wybierz język pasujący do środowiska wykonawczego procesu roboczego.In version 2.x, do not use this option or choose a language that matches the worker runtime.
--name -n Nazwa funkcji.The function name.
--template -t func templates list Użyj polecenia, aby wyświetlić pełną listę dostępnych szablonów dla każdego obsługiwanego języka.Use the func templates list command to see the complete list of available templates for each supported language.

Na przykład aby utworzyć wyzwalacz HTTP JavaScript w pojedynczym poleceniu, uruchom polecenie:For example, to create a JavaScript HTTP trigger in a single command, run:

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

Aby utworzyć funkcję wyzwalaną przez kolejkę w pojedynczym poleceniu, uruchom polecenie:To create a queue-triggered function in a single command, run:

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

Uruchamianie funkcji lokalnieRun functions locally

Aby uruchomić projekt funkcji, uruchom hosta funkcji.To run a Functions project, run the Functions host. Host włącza wyzwalacze dla wszystkich funkcji w projekcie.The host enables triggers for all functions in the project.

Wersja 2. xVersion 2.x

W wersji 2. x środowiska uruchomieniowego polecenie uruchamiania różni się w zależności od języka projektu.In version 2.x of the runtime, the start command varies, depending on your project language.

C#C#

func start --build

JavaScriptJavaScript

func start

TypeScriptTypeScript

npm install
npm start     

Wersja 1. xVersion 1.x

Wersja 1. x środowiska uruchomieniowego funkcji wymaga host polecenia, jak w poniższym przykładzie:Version 1.x of the Functions runtime requires the host command, as in the following example:

func host start

func startProgram obsługuje następujące opcje:func start supports the following options:

OpcjaOption OpisDescription
--no-build Nie wykonuj kompilacji bieżącego projektu przed uruchomieniem.Do no build current project before running. Tylko w przypadku projektów dotnet.For dotnet projects only. Wartość domyślna to false.Default is set to false. Tylko wersja 2. x.Version 2.x only.
--cert Ścieżka do pliku PFX, który zawiera klucz prywatny.The path to a .pfx file that contains a private key. Używany tylko z --useHttps.Only used with --useHttps. Tylko wersja 2. x.Version 2.x only.
--cors-credentials Zezwalaj na żądania uwierzytelniane między źródłami (np. pliki cookie i nagłówek uwierzytelniania) tylko w wersji 2. x.Allow cross-origin authenticated requests (i.e. cookies and the Authentication header) Version 2.x only.
--cors Rozdzielana przecinkami lista źródeł CORS bez spacji.A comma-separated list of CORS origins, with no spaces.
--language-worker Argumenty umożliwiające skonfigurowanie procesu roboczego języka.Arguments to configure the language worker. Tylko wersja 2. x.Version 2.x only.
--nodeDebugPort -n Port do użycia przez debuger węzła.The port for the node debugger to use. Domyślne: Wartość z pliku Launch. JSON lub 5858.Default: A value from launch.json or 5858. Tylko wersja 1. x.Version 1.x only.
--password Hasło lub plik zawierający hasło dla pliku PFX.Either the password or a file that contains the password for a .pfx file. Używany tylko z --cert.Only used with --cert. Tylko wersja 2. x.Version 2.x only.
--port -p Port lokalny, na którym nasłuchuje.The local port to listen on. Wartość domyślna: 7071.Default value: 7071.
--pause-on-error Wstrzymaj, aby uzyskać dodatkowe dane wejściowe przed wyjściem z procesu.Pause for additional input before exiting the process. Używane tylko w przypadku uruchamiania podstawowych narzędzi z zintegrowanego środowiska programistycznego (IDE).Used only when launching Core Tools from an integrated development environment (IDE).
--script-root --prefix Służy do określania ścieżki do katalogu głównego aplikacji funkcji, która ma być uruchamiana lub wdrażana.Used to specify the path to the root of the function app that is to be run or deployed. Służy do kompilowania projektów, które generują pliki projektu w podfolderze.This is used for compiled projects that generate project files into a subfolder. Na przykład podczas kompilowania projektu biblioteki C# klas plik host. JSON, Local. Settings. JSON i Function. JSON jest generowany w podfolderze głównym o ścieżce podobnej MyProject/bin/Debug/netstandard2.0do.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. W takim przypadku należy ustawić prefiks jako --script-root MyProject/bin/Debug/netstandard2.0.In this case, set the prefix as --script-root MyProject/bin/Debug/netstandard2.0. Jest to katalog główny aplikacji funkcji w przypadku uruchamiania na platformie Azure.This is the root of the function app when running in Azure.
--timeout -t Limit czasu uruchamiania hosta usługi Functions (w sekundach).The timeout for the Functions host to start, in seconds. Domyślne: 20 sekund.Default: 20 seconds.
--useHttps Powiąż https://localhost:{port} z, a http://localhost:{port}nie z.Bind to https://localhost:{port} rather than to http://localhost:{port}. Domyślnie ta opcja tworzy zaufany certyfikat na komputerze.By default, this option creates a trusted certificate on your computer.

Po uruchomieniu hosta funkcji wyświetla adres URL funkcji wyzwalanych przez protokół 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

Ważne

W przypadku uruchamiania lokalnego uwierzytelnianie nie jest wymuszane dla punktów końcowych HTTP.When running locally, authentication isn't enforced for HTTP endpoints. Oznacza to, że wszystkie lokalne żądania HTTP są obsługiwane authLevel = "anonymous"jako.This means that all local HTTP requests are handled as authLevel = "anonymous". Aby uzyskać więcej informacji, zobacz artykuł dotyczący powiązań http.For more information, see the HTTP binding article.

Przekazywanie danych testowych do funkcjiPassing test data to a function

Aby przetestować funkcje lokalnie, należy uruchomić hosta funkcji i punkty końcowe wywołań na serwerze lokalnym przy użyciu żądań HTTP.To test your functions locally, you start the Functions host and call endpoints on the local server using HTTP requests. Wywoływany punkt końcowy zależy od typu funkcji.The endpoint you call depends on the type of function.

Uwaga

Przykłady w tym temacie używają narzędzia zwinięcie do wysyłania żądań HTTP z terminalu lub wiersza polecenia.Examples in this topic use the cURL tool to send HTTP requests from the terminal or a command prompt. Możesz użyć wybranego narzędzia, aby wysyłać żądania HTTP do serwera lokalnego.You can use a tool of your choice to send HTTP requests to the local server. Narzędzie zwinięcie jest dostępne domyślnie w systemach z systemem Linux i Windows 10 Build 17063 i nowszych.The cURL tool is available by default on Linux-based systems and Windows 10 build 17063 and later. W starszych systemach Windows należy najpierw pobrać i zainstalować Narzędzie zwinięcie.On older Windows, you must first download and install the cURL tool.

Aby uzyskać więcej ogólnych informacji na temat funkcji testowania, zapoznaj się z tematem strategie testowania kodu w Azure Functions.For more general information on testing functions, see Strategies for testing your code in Azure Functions.

Funkcje wyzwalane przez protokół HTTP i element webhookHTTP and webhook triggered functions

Przywołująsz następujący punkt końcowy do lokalnego uruchamiania funkcji HTTP i elementu webhook:You call the following endpoint to locally run HTTP and webhook triggered functions:

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

Upewnij się, że używasz tej samej nazwy serwera i portu, na którym nasłuchuje hosty funkcji.Make sure to use the same server name and port that the Functions host is listening on. Ta wartość jest wyświetlana w danych wyjściowych generowanych podczas uruchamiania hosta funkcji.You see this in the output generated when starting the Function host. Możesz wywołać ten adres URL przy użyciu dowolnej metody HTTP obsługiwanej przez wyzwalacz.You can call this URL using any HTTP method supported by the trigger.

Następujące polecenie zwinięcie wyzwala MyHttpTrigger funkcję szybkiego startu z żądania GET z parametrem name przekazaną w ciągu zapytania.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

Poniższy przykład to ta sama funkcja wywołana z żądania POST w treści żądania :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"}'

Żądania GET z przeglądarki mogą przekazywać dane w ciągu zapytania.You can make GET requests from a browser passing data in the query string. W przypadku wszystkich innych metod HTTP należy użyć zwinięcie, programu Fiddler, Poster lub podobnego narzędzia do testowania HTTP.For all other HTTP methods, you must use cURL, Fiddler, Postman, or a similar HTTP testing tool.

Funkcje wyzwalane inne niż HTTPNon-HTTP triggered functions

W przypadku wszystkich rodzajów funkcji innych niż wyzwalacze HTTP i elementy webhook można testować funkcje lokalnie, wywołując punkt końcowy administracji.For all kinds of functions other than HTTP triggers and webhooks, you can test your functions locally by calling an administration endpoint. Wywołanie tego punktu końcowego przez żądanie HTTP POST na serwerze lokalnym wyzwala funkcję.Calling this endpoint with an HTTP POST request on the local server triggers the function. Opcjonalnie można przekazać dane testowe do wykonania w treści żądania POST.You can optionally pass test data to the execution in the body of the POST request. Ta funkcja jest podobna do karty test w Azure Portal.This functionality is similar to the Test tab in the Azure portal.

Aby wyzwolić funkcje inne niż HTTP, należy wywołać następujący punkt końcowy administratora:You call the following administrator endpoint to trigger non-HTTP functions:

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

Aby przekazać dane testowe do punktu końcowego administratora funkcji, należy podać dane w treści komunikatu żądania 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. Treść wiadomości musi mieć następujący format JSON:The message body is required to have the following JSON format:

{
    "input": "<trigger_input>"
}

<trigger_input> Wartość zawiera dane w formacie oczekiwanym przez funkcję.The <trigger_input> value contains data in a format expected by the function. Poniższy przykład zazwinięcia jest wpisem do QueueTriggerJS funkcji.The following cURL example is a POST to a QueueTriggerJS function. W tym przypadku dane wejściowe to ciąg, który jest odpowiednikiem komunikatu, który powinien zostać znaleziony w kolejce.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/QueueTriggerJS

Za pomocą func run polecenia w wersji 1. xUsing the func run command in version 1.x

Ważne

func run Polecenie nie jest obsługiwane w wersji 2. x narzędzi.The func run command is not supported in version 2.x of the tools. Aby uzyskać więcej informacji, zobacz temat jak dowiedzieć się, jak kierować Azure Functions wersji środowiska uruchomieniowego.For more information, see the topic How to target Azure Functions runtime versions.

Można również wywołać funkcję bezpośrednio przy użyciu func run <FunctionName> i podać dane wejściowe dla funkcji.You can also invoke a function directly by using func run <FunctionName> and provide input data for the function. To polecenie jest podobne do uruchamiania funkcji za pomocą karty test w Azure Portal.This command is similar to running a function using the Test tab in the Azure portal.

func runProgram obsługuje następujące opcje:func run supports the following options:

OpcjaOption OpisDescription
--content -c Zawartość wbudowana.Inline content.
--debug -d Dołącz debuger do procesu hosta przed uruchomieniem funkcji.Attach a debugger to the host process before running the function.
--timeout -t Czas oczekiwania (w sekundach), aż do momentu, gdy host funkcji lokalnych jest gotowy.Time to wait (in seconds) until the local Functions host is ready.
--file -f Nazwa pliku do użycia jako zawartość.The file name to use as content.
--no-interactive Nie monituje o dane wejściowe.Does not prompt for input. Przydatne w scenariuszach automatyzacji.Useful for automation scenarios.

Na przykład aby wywołać funkcję wyzwalaną przez protokół HTTP i przekazać treść zawartości, uruchom następujące polecenie:For example, to call an HTTP-triggered function and pass content body, run the following command:

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

Publikowanie na platformie AzurePublish to Azure

Azure Functions Core Tools obsługuje dwa typy wdrożeń: Wdrażanie plików projektów funkcji bezpośrednio w aplikacji funkcji za pomocą narzędzia zip Deploy i wdrażanie niestandardowego kontenera 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. Użytkownik musi już utworzyć aplikację funkcji w ramach subskrypcji platformy Azure, w której zostanie wdrożony swój kod.You must have already created a function app in your Azure subscription, to which you'll deploy your code. Projekty wymagające kompilacji powinny zostać skompilowane, aby można było wdrożyć pliki binarne.Projects that require compilation should be built so that the binaries can be deployed.

Wdrożenie (pliki projektu)Deployment (project files)

Aby opublikować kod lokalny w aplikacji funkcji na platformie Azure, użyj publish polecenia:To publish your local code to a function app in Azure, use the publish command:

func azure functionapp publish <FunctionAppName>

To polecenie publikuje w istniejącej aplikacji funkcji na platformie Azure.This command publishes to an existing function app in Azure. Wystąpi błąd podczas próby opublikowania w usłudze <FunctionAppName> , która nie istnieje w Twojej subskrypcji.You'll get an error if you try to publish to a <FunctionAppName> that doesn't exist in your subscription. Aby dowiedzieć się, jak utworzyć aplikację funkcji z poziomu wiersza polecenia lub okna terminalu przy użyciu interfejsu CLI platformy Azure, zobacz tworzenie aplikacja funkcji do wykonywaniabezserwerowego.To learn how to create a function app from the command prompt or terminal window using the Azure CLI, see Create a Function App for serverless execution. Domyślnie to polecenie wdraża aplikację do uruchamiania z pakietu wdrożeniowego.By default, this command deploys your app to run from the deployment package. Aby wyłączyć ten zalecany tryb wdrażania, użyj --nozip opcji.To disable this recommended deployment mode, use the --nozip option.

Ważne

Podczas tworzenia aplikacji funkcji w Azure Portal jest domyślnie używane środowisko uruchomieniowe funkcji w wersji 2. x.When you create a function app in the Azure portal, it uses version 2.x of the Function runtime by default. Aby aplikacja funkcji korzystała z wersji 1. x środowiska uruchomieniowego, postępuj zgodnie z instrukcjami w temacie Run on Version 1. x.To make the function app use version 1.x of the runtime, follow the instructions in Run on version 1.x. Nie można zmienić wersji środowiska uruchomieniowego dla aplikacji funkcji, która ma istniejące funkcje.You can't change the runtime version for a function app that has existing functions.

Poniższe opcje publikowania dotyczą obu wersji, 1. x i 2. x:The following publish options apply for both versions, 1.x and 2.x:

OpcjaOption OpisDescription
--publish-local-settings -i Publikuj ustawienia w pliku Local. Settings. JSON na platformie Azure, monitując o zastąpienie, jeśli to ustawienie już istnieje.Publish settings in local.settings.json to Azure, prompting to overwrite if the setting already exists. Jeśli używasz emulatora magazynu, najpierw Zmień ustawienie aplikacji na rzeczywiste połączenie magazynu.If you are using the storage emulator, first change the app setting to an actual storage connection.
--overwrite-settings -y Pomiń monit o zastąpienie ustawień aplikacji, gdy --publish-local-settings -i jest używany.Suppress the prompt to overwrite app settings when --publish-local-settings -i is used.

Następujące opcje publikowania są obsługiwane tylko w wersji 2. x:The following publish options are only supported in version 2.x:

OpcjaOption OpisDescription
--publish-settings-only -o Tylko Publikuj ustawienia i Pomiń zawartość.Only publish settings and skip the content. Wartość domyślna to Prompt.Default is prompt.
--list-ignored-files Wyświetla listę plików, które są ignorowane podczas publikowania, oparte na pliku. funcignore.Displays a list of files that are ignored during publishing, which is based on the .funcignore file.
--list-included-files Wyświetla listę opublikowanych plików, która jest oparta na pliku. funcignore.Displays a list of files that are published, which is based on the .funcignore file.
--nozip Wyłącza tryb domyślny Run-From-Package .Turns the default Run-From-Package mode off.
--build-native-deps Pomija generowanie folderu. kół podczas publikowania aplikacji funkcji języka Python.Skips generating .wheels folder when publishing python function apps.
--additional-packages Lista pakietów do zainstalowania podczas kompilowania natywnych zależności.List of packages to install when building native dependencies. Na przykład: python3-dev libevent-dev.For example: python3-dev libevent-dev.
--force Ignoruj weryfikację przed publikacją w określonych scenariuszach.Ignore pre-publishing verification in certain scenarios.
--csx Opublikuj projekt C# skryptu (. CSX).Publish a C# script (.csx) project.
--no-build Pomiń tworzenie funkcji dotnet.Skip building dotnet functions.
--dotnet-cli-params Podczas publikowania skompilowanych C# funkcji (. csproj) podstawowe narzędzia wywołują polecenie "dotnet Build--Output bin/Publish".When publishing compiled C# (.csproj) functions, the core tools calls 'dotnet build --output bin/publish'. Wszystkie parametry przesłane do tego zostaną dołączone do wiersza polecenia.Any parameters passed to this will be appended to the command line.

Wdrożenie (kontener niestandardowy)Deployment (custom container)

Azure Functions umożliwia wdrożenie projektu funkcji w niestandardowym kontenerze platformy Docker.Azure Functions lets you deploy your function project in a custom Docker container. Aby uzyskać więcej informacji, zobacz Tworzenie funkcji w systemie Linux przy użyciu obrazu niestandardowego.For more information, see Create a function on Linux using a custom image. Kontenery niestandardowe muszą mieć pliku dockerfile.Custom containers must have a Dockerfile. Aby utworzyć aplikację za pomocą pliku dockerfile, użyj opcji--pliku dockerfile w systemie func init.To create an app with a Dockerfile, use the --dockerfile option on func init.

func deploy

Dostępne są następujące opcje wdrożenia kontenera niestandardowego:The following custom container deployment options are available:

OpcjaOption OpisDescription
--registry Nazwa rejestru platformy Docker, do którego jest zalogowany bieżący użytkownik.The name of a Docker Registry the current user signed-in to.
--platform Platforma hostingu dla aplikacji funkcji.Hosting platform for the function app. Prawidłowe opcje tokubernetesValid options are kubernetes
--name Nazwa aplikacji funkcji.Function app name.
--max Opcjonalnie ustawia maksymalną liczbę wystąpień aplikacji funkcji do wdrożenia.Optionally, sets the maximum number of function app instances to deploy to.
--min Opcjonalnie ustawia minimalną liczbę wystąpień aplikacji funkcji do wdrożenia.Optionally, sets the minimum number of function app instances to deploy to.
--config Ustawia opcjonalny plik konfiguracyjny wdrożenia.Sets an optional deployment configuration file.

Funkcje monitorowaniaMonitoring functions

Zalecanym sposobem monitorowania wykonywania funkcji jest integracja z usługą Azure Application Insights.The recommended way to monitor the execution of your functions is by integrating with Azure Application Insights. Dzienniki wykonywania można przesyłać strumieniowo na komputer lokalny.You can also stream execution logs to your local computer. Aby dowiedzieć się więcej, zobacz Monitor Azure Functions.To learn more, see Monitor Azure Functions.

Włącz integrację Application InsightsEnable Application Insights integration

Po utworzeniu aplikacji funkcji w Azure Portal integracja Application Insights jest wykonywana domyślnie.When you create a function app in the Azure portal, the Application Insights integration is done for you by default. Jednak podczas tworzenia aplikacji funkcji przy użyciu interfejsu wiersza polecenia platformy Azure integracja w aplikacji funkcji na platformie Azure nie jest wykonywana.However, when you create your function app by using the Azure CLI, the integration in your function app in Azure isn't done.

Funkcje ułatwiają dodawanie Application Insights integracji z aplikacją funkcji z Azure Portal.Functions makes it easy to add Application Insights integration to a function app from the Azure portal.

  1. W portalu wybierz pozycję wszystkie usługi > Aplikacje funkcji, wybierz aplikację funkcji, a następnie wybierz transparent Application Insights w górnej części oknaIn the portal, select All services > Function Apps, select your function app, and then select the Application Insights banner at the top of the window

    Włączanie Application Insights z poziomu portalu

  2. Utwórz zasób Application Insights przy użyciu ustawień określonych w tabeli poniżej obrazu.Create an Application Insights resource by using the settings specified in the table below the image.

    Tworzenie zasobu usługi Application Insights

    UstawienieSetting Sugerowana wartośćSuggested value OpisDescription
    NazwaName Unikatowa nazwa aplikacjiUnique app name Najłatwiej używać tej samej nazwy, co aplikacja funkcji, która musi być unikatowa w subskrypcji.It's easiest to use the same name as your function app, which must be unique in your subscription.
    LocationLocation Europa ZachodniaWest Europe Jeśli to możliwe, użyj tego samego regionu , w którym znajduje się aplikacja funkcji lub która znajduje się blisko tego regionu.If possible, use the same region as your function app, or one that's close to that region.
  3. Kliknij przycisk OK.Select OK. Zasób Application Insights jest tworzony w tej samej grupie zasobów i subskrypcji co aplikacja funkcji.The Application Insights resource is created in the same resource group and subscription as your function app. Po utworzeniu zasobu Zamknij okno Application Insights.After the resource is created, close the Application Insights window.

  4. Wróć do aplikacji funkcji, wybierz pozycję Ustawienia aplikacji, a następnie przewiń w dół do ustawień aplikacji.Back in your function app, select Application settings, and then scroll down to Application settings. Jeśli zobaczysz ustawienie o nazwie APPINSIGHTS_INSTRUMENTATIONKEY, Application Insights integracja jest włączona dla aplikacji funkcji działającej na platformie Azure.If you see a setting named APPINSIGHTS_INSTRUMENTATIONKEY, Application Insights integration is enabled for your function app running in Azure.

Włączanie dzienników przesyłania strumieniowegoEnable streaming logs

Można wyświetlić strumień plików dziennika generowanych przez funkcje w sesji wiersza polecenia na komputerze lokalnym.You can view a stream of log files being generated by your functions in a command-line session on your local computer.

Natywne dzienniki przesyłania strumieniowegoNative streaming logs

Wbudowane przesyłanie strumieniowe dziennikówBuilt-in log streaming

logstream Użyj opcji, aby rozpocząć otrzymywanie dzienników przesyłania strumieniowego określonej aplikacji funkcji działającej na platformie Azure, jak w poniższym przykładzie: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>

Live Metrics StreamLive Metrics Stream

Możesz również wyświetlić Live Metrics Stream aplikacji funkcji w nowym oknie przeglądarki, dołączając --browser opcję, jak w poniższym przykładzie:You can also 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

Ten typ dzienników przesyłania strumieniowego wymaga włączenia Application Insights integracji dla aplikacji funkcji.This type of streaming logs requires that you enable Application Insights integration for your function app.

Następne krokiNext steps

Azure Functions Core Tools to środowisko Open Source i jest hostowane w witrynie GitHub.Azure Functions Core Tools is open source and hosted on GitHub.
Aby zgłosić błąd lub żądanie funkcji, Otwórz problem z usługą GitHub.To file a bug or feature request, open a GitHub issue.