Azure Functions fejlesztése a Visual StudióvalDevelop Azure Functions using Visual Studio

A Visual Studio lehetővé teszi, hogy az Azure- C# hoz fejlesszen, tesztelje és telepítse az osztály-függvénytári funkciókat.Visual Studio lets you develop, test, and deploy C# class library functions to Azure. Ha ez a felhasználói élmény Azure Functions, akkor a Azure functionsbevezetésével többet is megtudhat.If this experience is your first with Azure Functions, you can learn more at An introduction to Azure Functions.

A Visual Studio a következő előnyöket biztosítja a függvények fejlesztésekor:Visual Studio provides the following benefits when develop your functions:

  • Függvények szerkesztése, létrehozása és futtatása a helyi fejlesztői számítógépen.Edit, build, and run functions on your local development computer.
  • Tegye közzé a Azure Functions projektet közvetlenül az Azure-ban, és szükség szerint hozzon létre Azure-erőforrásokat.Publish your Azure Functions project directly to Azure, and create Azure resources as needed.
  • Attribútumok C# használatával deklarálhatja a függvény kötéseit közvetlenül a C# kódban.Use C# attributes to declare function bindings directly in the C# code.
  • Előre lefordított C# függvények fejlesztése és üzembe helyezése.Develop and deploy pre-compiled C# functions. Az előzetesen teljesített függvények jobb, a C# parancsfájl-alapú függvényeknél hatékonyabban megkezdhető teljesítményt nyújtanak.Pre-complied functions provide a better cold-start performance than C# script-based functions.
  • A függvények kódja a C# Visual Studio-fejlesztés összes előnyének kihasználásával.Code your functions in C# while having all of the benefits of Visual Studio development.

Ez a cikk részletesen ismerteti, hogyan használható a Visual Studio C# a Class Library-függvények fejlesztéséhez és az Azure-ban való közzétételéhez.This article provides details about how to use Visual Studio to develop C# class library functions and publish them to Azure. A cikk elolvasása előtt végre kell hajtania a Visual Studio functionsrövid útmutatóját.Before you read this article, you should complete the Functions quickstart for Visual Studio.

Hacsak másként nincs jelezve, az eljárások és a példák a Visual Studio 2019-re vonatkoznak.Unless otherwise noted, procedures and examples shown are for Visual Studio 2019.

ElőfeltételekPrerequisites

A Visual Studióban a Visual Studio 2017-es verziótól kezdődően az Azure-fejlesztési számítási feladatok részét képező Azure Functions eszközök.Azure Functions Tools is included in the Azure development workload of Visual Studio starting with Visual Studio 2017. Ügyeljen rá, hogy a Visual Studio-telepítésben szerepeljen az Azure-fejlesztési számítási feladat.Make sure you include the Azure development workload in your Visual Studio installation.

Ha nem rendelkezik egy Azure-előfizetés, hozzon létre egy ingyenes fiókot megkezdése előtt.If you don't have an Azure subscription, create a free account before you begin.

A közzétételi folyamat során a szükséges egyéb erőforrások, például az Azure Storage-fiókok az előfizetésben jönnek létre.Other resources that you need, such as an Azure Storage account, are created in your subscription during the publishing process.

Megjegyzés

A Visual Studio 2017-es verziójában az Azure-fejlesztési munkaterhelés külön bővítményként telepíti a Azure Functions eszközöket.In Visual Studio 2017, the Azure development workload installs the Azure Functions Tools as a separate extension. A Visual Studio 2017 frissítésekor ellenőrizze, hogy a Azure Functions eszközök legújabb verzióját használja-e.When you update your Visual Studio 2017, also make sure that you are using the most recent version of the Azure Functions tools. A következő részben bemutatjuk, hogyan lehet megtekinteni és (ha szükséges) frissíteni a Azure Functions Tools bővítményt a Visual Studio 2017-ben.The following sections show you how to check and (if needed) update your Azure Functions Tools extension in Visual Studio 2017.

Tekintse meg az eszközök verzióját a Visual Studio 2017-benCheck your tools version in Visual Studio 2017

  1. Az a eszközök menüben válassza a bővítmények és frissítések.From the Tools menu, choose Extensions and Updates. Bontsa ki a telepített > eszközök elemet, és válassza a Azure functions és a webes feladatok eszközöket.Expand Installed > Tools and choose Azure Functions and Web Jobs Tools.

    A functions Tools verziójának ellenőrzése

  2. Jegyezze fel a telepített verziót.Note the installed Version. Ezt a verziót a kibocsátási megjegyzésekbenfelsorolt legújabb verzióval is összehasonlíthatja.You can compare this version with the latest version listed in the release notes.

  3. Ha a verzió régebbi, frissítse az eszközök a Visual Studióban, a következő szakaszban látható módon.If your version is older, update your tools in Visual Studio as shown in the following section.

Eszközök frissítése a Visual Studio 2017-banUpdate your tools in Visual Studio 2017

  1. A bővítmények és frissítések párbeszédpanelen bontsa ki a frissítések > Visual Studio Marketplace, majd a Azure functions és a webjobs-eszközök elemet, és válassza a frissítéslehetőséget.In the Extensions and Updates dialog, expand Updates > Visual Studio Marketplace, choose Azure Functions and Web Jobs Tools and select Update.

    A functions Tools verziójának frissítése

  2. Után az eszközök a frissítés letöltését követően zárja be a Visual Studióban az eszközök frissítése a VSIX telepítővel eseményindítóra.After the tools update is downloaded, close Visual Studio to trigger the tools update using the VSIX installer.

  3. A telepítőben kattintson az OK gombra a kezdéshez, majd módosítsa az eszközök frissítéséhez.In the installer, choose OK to start and then Modify to update the tools.

  4. A frissítés befejezése után kattintson a Bezárás gombra , és indítsa újra a Visual studiót.After the update is complete, choose Close and restart Visual Studio.

Megjegyzés

A Visual Studio 2019-es és újabb verzióiban a Azure Functions Tools bővítmény a Visual Studio részeként frissül.In Visual Studio 2019 and later, the Azure Functions tools extension is updated as part of Visual Studio.

Azure Functions-projekt létrehozásaCreate an Azure Functions project

A Visual Studio Azure Functions projektsablonja egy olyan projektet hoz létre, amely közzétehető egy Azure-függvényalkalmazásban.The Azure Functions project template in Visual Studio creates a project that can be published to a function app in Azure. A függvények használatával logikai egységként csoportosíthatja a függvényeket az erőforrások kezeléséhez, üzembe helyezéséhez és megosztásához.You can use a function app to group functions as a logical unit for management, deployment, and sharing of resources.

  1. A Visual Studióban a fájl menüben válassza az új > projektlehetőséget.In Visual Studio, on the File menu, select New > Project.

  2. Az új projekt létrehozása párbeszédpanelen keresse meg functionsa elemet, válassza ki a Azure functions sablont, és kattintson a továbbgombra.In the Create a new project dialog box, search for functions, choose the Azure Functions template, and select Next.

  3. Adja meg a projekt nevét, majd válassza a Létrehozáslehetőséget.Enter a name for your project, and select Create. A függvényalkalmazás nevének egy C#-névtérként is érvényesnek kell lennie, ezért ne használjon aláhúzásjeleket, kötőjeleket vagy más nem alfanumerikus karaktereket.The function app name must be valid as a C# namespace, so don't use underscores, hyphens, or any other nonalphanumeric characters.

  4. Az új Azure functions alkalmazás létrehozásaterületen használja az alábbi beállításokat:In Create a new Azure Functions application, use the following options:

    • Azure functions v2 (.net Core) 1Azure Functions v2 (.NET Core) 1
    • HTTP-triggerHTTP trigger
    • Storage-fiók: Storage-emulátorStorage Account: Storage Emulator
    • Engedélyezési szint: NévtelenAuthorization level: Anonymous
    BeállításOption Ajánlott értékSuggested value LeírásDescription
    Függvények futtatókörnyezeteFunctions runtime Azure functions 2. x
    (.net Core)
    Azure Functions 2.x
    (.NET Core)
    Ez a beállítás egy olyan Function projektet hoz létre, amely a .NET Core-t támogató Azure Functions 2. x futtatókörnyezetét használja.This setting creates a function project that uses the version 2.x runtime of Azure Functions, which supports .NET Core. Az Azure Functions 1.x támogatja a .NET-keretrendszert.Azure Functions 1.x supports the .NET Framework. További információ: Target Azure functions Runtime Version.For more information, see Target Azure Functions runtime version.
    Függvény sablonjaFunction template HTTP-triggerHTTP trigger Ez a beállítás egy HTTP-kérelem által aktivált függvényt hoz létre.This setting creates a function triggered by an HTTP request.
    TárfiókStorage Account Storage-emulátorStorage Emulator Egy HTTP-trigger nem használja az Azure Storage-fiókhoz való kapcsolatokat.An HTTP trigger doesn't use the Azure Storage account connection. A többi triggernek érvényes Storage-fiókhoz tartozó kapcsolati sztringre van szüksége.All other trigger types require a valid Storage account connection string. Mivel a functions szolgáltatáshoz Storage-fiók szükséges, az egyiket a rendszer a projekt Azure-ba való közzétételekor rendeli hozzá vagy hozza létre.Because Functions requires a storage account, one is assigned or created when you publish your project to Azure.
    EngedélyszintAuthorization level NévtelenAnonymous A létrehozott függvényt bármely ügyfél elindíthatja, kulcs megadása nélkül.The created function can be triggered by any client without providing a key. Ez az engedélyezési beállítás megkönnyíti az új függvény tesztelését.This authorization setting makes it easy to test your new function. A kulcsokról és az engedélyezésről a HTTP- és webhookkötések című témakör Engedélyezési kulcsok szakaszában talál további információt.For more information about keys and authorization, see Authorization keys in the HTTP and webhook bindings.

    Megjegyzés

    Győződjön meg arról, hogy Anonymousaz engedélyezési szint beállítása a következőre:.Make sure you set the Authorization level to Anonymous. Ha az alapértelmezett szintet Functionválasztja, akkor a függvény-végpont eléréséhez a kérelmekben be kell mutatnia a függvény kulcsát .If you choose the default level of Function, you're required to present the function key in requests to access your function endpoint.

  5. Válassza a Létrehozás lehetőséget a függvény projekt és a http által aktivált függvény létrehozásához.Select Create to create the function project and HTTP-triggered function.

A Project sablon létrehoz egy C# projektet, telepíti a Microsoft.NET.Sdk.Functions NuGet csomagot, és beállítja a célként megadott keretrendszert.The project template creates a C# project, installs the Microsoft.NET.Sdk.Functions NuGet package, and sets the target framework. Az új projekt a következő fájlokat tartalmazhatja:The new project has the following files:

  • host.json: Lehetővé teszi a functions gazdagép konfigurálását.host.json: Lets you configure the Functions host. Ezek a beállítások mind a helyi, mind az Azure-beli futtatáskor érvényesek.These settings apply both when running locally and in Azure. További információ: Host. JSON-dokumentáció.For more information, see host.json reference.

  • local.settings.json: A függvények helyi futtatásakor használt beállításokat kezeli.local.settings.json: Maintains settings used when running functions locally. Ezek a beállítások nem használhatók az Azure-ban való futtatáskor.These settings are not used when running in Azure. További információ: Local Settings fájl.For more information, see Local settings file.

    Fontos

    Mivel a local. Settings. JSON fájl tartalmazhat titkos kódokat, ki kell zárnia azt a projekt forrásának vezérlőjéből.Because the local.settings.json file can contain secrets, you must excluded it from your project source control. Ha újabbértékre van állítva, akkor a fájl másolásának kimeneti könyvtárra vonatkozó beállítását mindig másolja.The Copy to Output Directory setting for this file should always be Copy if newer.

További információ: functions Class Library Project.For more information, see Functions class library project.

Local settings file (Helyi beállításfájl)Local settings file

A local. Settings. JSON fájl az alkalmazás beállításait, a kapcsolatok karakterláncait és a helyi Fejlesztőeszközök által használt beállításokat tárolja.The local.settings.json file stores app settings, connection strings, and settings used by local development tools. A local. Settings. JSON fájlban lévő beállításokat csak akkor használja a rendszer, ha helyileg futtat projekteket.Settings in the local.settings.json file are used only when you're running projects locally. A helyi beállítások fájlja a következő struktúrával rendelkezik: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>"
  }
}

Ezek a beállítások akkor támogatottak, ha helyileg futtatja a projekteket:These settings are supported when you run projects locally:

BeállításSetting LeírásDescription
IsEncrypted Ha ez a beállítás a trueértékre van beállítva, az összes érték helyi számítógép kulccsal lesz titkosítva.When this setting is set to true, all values are encrypted with a local machine key. func settings Parancsokkal használható.Used with func settings commands. Az falsealapértelmezett érték:.Default value is false.
Values Az Alkalmazásbeállítások és a kapcsolódási karakterláncok tömbje, amely akkor használatos, amikor egy projekt helyileg fut.Array of application settings and connection strings used when a project is running locally. Ezek a kulcs-érték (String-String) párok megfelelnek az Azure-beli Function alkalmazás beállításainak, például AzureWebJobsStorage:.These key-value (string-string) pairs correspond to application settings in your function app in Azure, like AzureWebJobsStorage. Számos eseményindító és kötés olyan tulajdonsággal rendelkezik, amely egy kapcsolati karakterlánc-alkalmazásra Connection vonatkozó beállításra hivatkozik, például a blob Storage eseményindítóhoz.Many triggers and bindings have a property that refers to a connection string app setting, like Connection for the Blob storage trigger. Ezen tulajdonságok esetében a Values tömbben definiált Alkalmazásbeállítás szükséges.For these properties, you need an application setting defined in the Values array.
AzureWebJobsStoragea kötelező Alkalmazásbeállítások a HTTP-n kívüli eseményindítók esetében.AzureWebJobsStorage is a required app setting for triggers other than HTTP.
A functions Runtime 2. x verziójának a [FUNCTIONS_WORKER_RUNTIME] beállítást kell megadnia, amelyet a projekthez a Core Tools generál.Version 2.x of the Functions runtime requires the [FUNCTIONS_WORKER_RUNTIME] setting, which is generated for your project by Core Tools.
Ha az Azure Storage-emulátor helyileg van telepítve AzureWebJobsStorage UseDevelopmentStorage=true, és a értékre van állítva, a Core Tools az emulátort használja.When you have the Azure storage emulator installed locally and you set AzureWebJobsStorage to UseDevelopmentStorage=true, Core Tools uses the emulator. Az emulátor a fejlesztés során hasznos, de a telepítés előtt tesztelni kell egy tényleges tárolási kapcsolatban.The emulator is useful during development, but you should test with an actual storage connection before deployment.
Az értékeknek karakterláncnak és nem JSON-objektumoknak vagy tömböknek kell lenniük.Values must be strings and not JSON objects or arrays. A nevek beállítása nem tartalmazhat kettőspontot:() vagy dupla aláhúzást__().Setting names can't include a colon (:) or a double underline (__). Ezeket a karaktereket a futtatókörnyezet foglalta le.These characters are reserved by the runtime.
Host Az ebben a szakaszban található beállítások testre szabják a functions gazdagép folyamatát, amikor helyileg futtat projekteket.Settings in this section customize the Functions host process when you run projects locally. Ezek a beállítások eltérhetnek a gazdagép. JSON beállításaitól, amelyek akkor is érvényesek, amikor projekteket futtatnak az Azure-ban.These settings are separate from the host.json settings, which also apply when you run projects in Azure.
LocalHttpPort Beállítja a helyi functions-gazdagép (func host start és func run) futtatásakor használt alapértelmezett portot.Sets the default port used when running the local Functions host (func host start and func run). A --port parancssori kapcsoló elsőbbséget élvez ezzel a beállítással szemben.The --port command-line option takes precedence over this setting.
CORS Meghatározza a több eredetű erőforrás-megosztás (CORS)számára engedélyezett származási erőforrásokat.Defines the origins allowed for cross-origin resource sharing (CORS). Az eredetek vesszővel tagolt listaként vannak megadva, szóközök nélkül.Origins are supplied as a comma-separated list with no spaces. A helyettesítő karakteres*érték () támogatott, amely bármilyen forrásból engedélyezi a kérelmeket.The wildcard value (*) is supported, which allows requests from any origin.
CORSCredentials Ha a értékre van withCredentials állítva, a truekérelmeket engedélyezi.When set to true, allows withCredentials requests.
ConnectionStrings Egy gyűjtemény.A collection. Ne használja ezt a gyűjteményt a függvények kötései által használt kapcsolati sztringekhez.Don't use this collection for the connection strings used by your function bindings. Ezt a gyűjteményt kizárólag olyan keretrendszerek használják, amelyek általában a konfigurációs fájl ( ConnectionStrings például Entity Framework) szakaszának a kapcsolatok karakterláncait kapják meg.This collection is used only by frameworks that typically get connection strings from the ConnectionStrings section of a configuration file, like Entity Framework. Az objektumban található kapcsolódási karakterláncok a System. SqlClient. szolgáltatói típussal lesznek hozzáadva a környezethez.Connection strings in this object are added to the environment with the provider type of System.Data.SqlClient. Az ebben a gyűjteményben lévő elemek nem jelennek meg az Azure-ban más Alkalmazásbeállítások használatával.Items in this collection aren't published to Azure with other app settings. Ezeket az értékeket explicit módon fel kell vennie Connection strings a Function app-beállítások gyűjteményéből.You must explicitly add these values to the Connection strings collection of your function app settings. Ha a függvény kódjában SqlConnection hoz létre egy kódot, a kapcsolati sztring értékét a portálon az Alkalmazásbeállítások között lévő többi kapcsolattal együtt kell tárolnia.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.

A local. Settings. JSON fájlban lévő beállítások a projekt közzétételekor nem kerülnek automatikusan feltöltésre.Settings in local.settings.json are not uploaded automatically when you publish the project. Ahhoz, hogy ezek a beállítások az Azure-beli Function alkalmazásban is elérhetők legyenek, a projekt közzététele után fel kell töltenie őket.To make sure that these settings also exist in your function app in Azure, you must upload them after you publish your project. További információ: Function app Settings.To learn more, see Function app settings.

A ConnectionStrings lévő értékek soha nem lesznek közzétéve.Values in ConnectionStrings are never published.

A Function app Settings értékeit környezeti változókként is beolvashatja a kódban.The function app settings values can also be read in your code as environment variables. További információ: környezeti változók.For more information, see Environment variables.

A projekt konfigurálása helyi fejlesztéshezConfigure the project for local development

A functions futtatókörnyezet belsőleg használ egy Azure Storage-fiókot.The Functions runtime uses an Azure Storage account internally. A HTTP és webhookok kivételével az összes trigger típusnál a Values. AzureWebJobsStorage kulcsot egy érvényes Azure Storage-fiók kapcsolati karakterláncához kell beállítania.For all trigger types other than HTTP and webhooks, you must set the Values.AzureWebJobsStorage key to a valid Azure Storage account connection string. A Function alkalmazás az Azure Storage emulatort is használhatja a projekthez szükséges AzureWebJobsStorage -kapcsolatok beállításához.Your function app can also use the Azure storage emulator for the AzureWebJobsStorage connection setting that is required by the project. Az emulátor használatához állítsa a AzureWebJobsStorage UseDevelopmentStorage=trueértékét a következőre:.To use the emulator, set the value of AzureWebJobsStorage to UseDevelopmentStorage=true. Az üzembe helyezés előtt módosítsa a beállítást egy tényleges Storage-fiók kapcsolódási karakterláncára.Change this setting to an actual storage account connection string before deployment.

A Storage-fiók kapcsolódási karakterláncának beállítása:To set the storage account connection string:

  1. A Visual Studióban nyissa meg a Cloud Explorer alkalmazást, bontsa ki a Storage- > fiókelemet, majd a Tulajdonságok lapon másolja ki az elsődleges kapcsolatok karakterláncának értékét.In Visual Studio, open Cloud Explorer, expand Storage Account > Your Storage Account, then in the Properties tab copy the Primary Connection String value.

  2. A projektben nyissa meg a local. Settings. JSON fájlt, és állítsa be a AzureWebJobsStorage kulcs értékét a másolt kapcsolódási karakterláncra.In your project, open the local.settings.json file and set the value of the AzureWebJobsStorage key to the connection string you copied.

  3. Az előző lépés megismétlésével egyedi kulcsokat adhat hozzá az értékek tömbhöz a függvények által igényelt egyéb kapcsolatokhoz.Repeat the previous step to add unique keys to the Values array for any other connections required by your functions.

Függvény hozzáadása a projekthezAdd a function to your project

Az C# osztály-függvénytár függvények a függvény által használt kötéseket a kódban található attribútumok alkalmazásával határozzák meg.In C# class library functions, the bindings used by the function are defined by applying attributes in the code. Amikor létrehozza a függvény eseményindítóit a megadott sablonokból, az eseményindító attribútumai lesznek alkalmazva.When you create your function triggers from the provided templates, the trigger attributes are applied for you.

  1. A Solution Explorer (Megoldáskezelő) felületén kattintson a jobb gombbal a projektcsomópontra, majd válassza az Add (Hozzáadás) > New Item (Új elem) lehetőséget.In Solution Explorer, right-click on your project node and select Add > New Item. Válassza az Azure-függvénylehetőséget, írja be az osztály nevét , majd kattintson a Hozzáadásgombra.Select Azure Function, type a Name for the class, and click Add.

  2. Válassza ki az triggert, állítsa be a kötési tulajdonságokat, majd kattintson a Létrehozásgombra.Choose your trigger, set the binding properties, and click Create. A következő példában a várólista-tároló által aktivált függvény létrehozásakor a beállítások láthatók.The following example shows the settings when creating a Queue storage triggered function.

    Üzenetsor által aktivált függvény létrehozása

    Ez az trigger-példa egy QueueStoragenevű kulccsal rendelkező kapcsolatok karakterláncot használ.This trigger example uses a connection string with a key named QueueStorage. Ezt a kapcsolattípus-beállítást a Local. Settings. JSON fájlbankell megadni.This connection string setting must be defined in the local.settings.json file.

  3. Vizsgálja meg az újonnan hozzáadott osztályt.Examine the newly added class. Egy statikus futtatási metódus jelenik meg, amely a függvénynév attribútummal van társítva.You see a static Run method, that is attributed with the FunctionName attribute. Ez az attribútum azt jelzi, hogy a metódus a függvény belépési pontja.This attribute indicates that the method is the entry point for the function.

    A következő C# osztály például egy alapszintű üzenetsor-tároló által aktivált függvényt képvisel:For example, the following C# class represents a basic Queue storage triggered function:

    using System;
    using Microsoft.Azure.WebJobs;
    using Microsoft.Azure.WebJobs.Host;
    using Microsoft.Extensions.Logging;
    
    namespace FunctionApp1
    {
        public static class Function1
        {
            [FunctionName("QueueTriggerCSharp")]
            public static void Run([QueueTrigger("myqueue-items", 
                Connection = "QueueStorage")]string myQueueItem, ILogger log)
            {
                log.LogInformation($"C# Queue trigger function processed: {myQueueItem}");
            }
        }
    }
    

    A rendszer a belépési pont metódusához megadott kötési paraméterekre alkalmazza a kötés-specifikus attribútumot.A binding-specific attribute is applied to each binding parameter supplied to the entry point method. Az attribútum paraméterként a kötési adatokat veszi fel.The attribute takes the binding information as parameters. Az előző példában az első paraméter egy QueueTrigger attribútummal rendelkezik, amely jelzi az üzenetsor által aktivált függvényt.In the previous example, the first parameter has a QueueTrigger attribute applied, indicating queue triggered function. A várólista neve és a kapcsolódási karakterlánc beállításának neve paraméterként a QueueTrigger attribútumnak lesz átadva.The queue name and connection string setting name are passed as parameters to the QueueTrigger attribute. További információ: Azure üzenetsor-tárolási kötések Azure Functionshoz.For more information, see Azure Queue storage bindings for Azure Functions.

A fenti eljárás segítségével további függvényeket adhat hozzá a Function app-projekthez.You can use the above procedure to add more functions to your function app project. A projekt egyes függvényei eltérő triggerrel rendelkezhetnek, de a függvénynek pontosan egy triggerrel kell rendelkeznie.Each function in the project can have a different trigger, but a function must have exactly one trigger. További információ: Azure functions triggerek és kötések fogalmai.For more information, see Azure Functions triggers and bindings concepts.

Kötések hozzáadásaAdd bindings

Ahogy az eseményindítók esetében, a bemeneti és kimeneti kötések kötési attribútumokként lesznek hozzáadva a függvényhez.As with triggers, input and output bindings are added to your function as binding attributes. Adja hozzá a kötéseket egy függvényhez a következő módon:Add bindings to a function as follows:

  1. Győződjön meg arról, hogy konfigurálta a projektet a helyi fejlesztéshez.Make sure you have configured the project for local development.

  2. Adja hozzá a megfelelő NuGet-kiterjesztési csomagot az adott kötéshez.Add the appropriate NuGet extension package for the specific binding. További információ: helyi C# fejlesztés a Visual Studióval az eseményindítók és kötések című cikkben.For more information, see Local C# development using Visual Studio in the Triggers and Bindings article. A kötési NuGet-csomagra vonatkozó követelmények a kötés dokumentációjában találhatók.The binding-specific NuGet package requirements are found in the reference article for the binding. Megkeresheti például a Event Hubs trigger csomagra vonatkozó követelményeit a Event Hubs kötési útmutató cikkben.For example, find package requirements for the Event Hubs trigger in the Event Hubs binding reference article.

  3. Ha vannak olyan Alkalmazásbeállítások, amelyekre a kötés szükséges, adja hozzá őket az értékek gyűjteményhez a helyi beállítási fájlban.If there are app settings that the binding needs, add them to the Values collection in the local setting file. Ezeket az értékeket akkor használja a rendszer, amikor a függvény helyileg fut.These values are used when the function runs locally. Ha a függvény az Azure-beli Function alkalmazásban fut, a rendszer a Function app beállításait használja.When the function runs in the function app in Azure, the function app settings are used.

  4. Adja hozzá a megfelelő kötési attribútumot a metódus aláírásához.Add the appropriate binding attribute to the method signature. A következő példában egy üzenetsor-üzenet elindítja a függvényt, és a kimeneti kötés egy új üzenetsor-üzenetet hoz létre, amely egy másik várólistában található azonos szöveggel rendelkezik.In the following example, a queue message triggers the function, and the output binding creates a new queue message with the same text in a different queue.

    public static class SimpleExampleWithOutput
    {
        [FunctionName("CopyQueueMessage")]
        public static void Run(
            [QueueTrigger("myqueue-items-source", Connection = "AzureWebJobsStorage")] string myQueueItem, 
            [Queue("myqueue-items-destination", Connection = "AzureWebJobsStorage")] out string myQueueItemCopy,
            ILogger log)
        {
            log.LogInformation($"CopyQueueMessage function processed: {myQueueItem}");
            myQueueItemCopy = myQueueItem;
        }
    }
    

    A várólista-tárolóhoz való kapcsolódás a AzureWebJobsStorage beállításból származik.The connection to Queue storage is obtained from the AzureWebJobsStorage setting. További információkért tekintse meg az adott kötésre vonatkozó hivatkozási cikket.For more information, see the reference article for the specific binding.

Az alábbi táblázat a kötések az Azure Functions runtime két fő verziói által támogatott.The following table shows the bindings that are supported in the two major versions of the Azure Functions runtime.

TípusType 1.x1.x 2.x12.x1 EseményindítóTrigger Input (Bemenet)Input KimenetOutput
Blob StorageBlob Storage
Cosmos DBCosmos DB
Event GridEvent Grid
Event HubsEvent Hubs
A HTTP és WebhookokHTTP & Webhooks
A Microsoft Graph
Excel-táblák
Microsoft Graph
Excel tables
A Microsoft Graph
OneDrive-fájlok
Microsoft Graph
OneDrive files
A Microsoft Graph
Outlookos e-mail cím
Microsoft Graph
Outlook email
A Microsoft Graph
események
Microsoft Graph
Events
A Microsoft Graph
hitelesítési jogkivonatok
Microsoft Graph
Auth tokens
Mobile AppsMobile Apps
Értesítési központNotification Hubs
Queue StorageQueue storage
SendGridSendGrid
SzolgáltatásbuszService Bus
SignalRSignalR
Table StorageTable storage
IdőzítőTimer
TwilioTwilio

1 2.x, HTTP- és időzítő kivételével az összes kötések kell regisztrálni.1 In 2.x, all bindings except HTTP and Timer must be registered. Lásd: regisztrálja a kötési bővítményeket.See Register binding extensions.

Függvények teszteléseTesting functions

Az Azure Functions Core Tools lehetővé teszi Azure Functions-projektek helyi fejlesztői számítógépen való futtatását.Azure Functions Core Tools lets you run Azure Functions project on your local development computer. Amikor a Visual Studióból először indít el egy függvényt, a rendszer arra kéri, hogy telepítse ezeket az eszközöket.You are prompted to install these tools the first time you start a function from Visual Studio.

A függvény teszteléséhez nyomja le az F5 billentyűt.To test your function, press F5. Ha a rendszer kéri, fogadja el a Visual Studio kérését az Azure Functions Core (CLI) eszközök telepítéséhez.If prompted, accept the request from Visual Studio to download and install Azure Functions Core (CLI) tools. Lehet, hogy egy tűzfalkivételt is engedélyeznie kell, hogy az eszközök kezelhessék a HTTP-kéréseket.You may also need to enable a firewall exception so that the tools can handle HTTP requests.

A-t futtató projekt segítségével tesztelheti a kódot úgy, ahogy az üzembe helyezett függvény tesztelését végzi.With the project running, you can test your code as you would test deployed function. További információ: stratégiák a kód teszteléséhez Azure functions.For more information, see Strategies for testing your code in Azure Functions. Hibakeresési módban való futtatáskor a rendszer a várt módon megkeresi a töréspontokat a Visual Studióban.When running in debug mode, breakpoints are hit in Visual Studio as expected.

Ha többet szeretne megtudni a Azure Functions Core Tools használatáról, tekintse meg a code and test Azure functions helyilegcímű témakört.To learn more about using the Azure Functions Core Tools, see Code and test Azure functions locally.

Közzététel az Azure platformonPublish to Azure

A Visual studióból való közzétételkor a rendszer a következő két telepítési módszer egyikét használja:When publishing from Visual Studio, one of two deployment methods are used:

A következő lépésekkel teheti közzé a projektjét egy Azure-beli Function alkalmazásban.Use the following steps to publish your project to a function app in Azure.

  1. A Megoldáskezelőben kattintson a jobb gombbal a projektre, és válassza a Publish (Közzététel) lehetőséget.In Solution Explorer, right-click the project and select Publish.

  2. A Közzététel célhelyének kiválasztása párbeszédpanelen a rendszerkép alatti táblázatban megadott közzétételi beállításokat használhatja:In the Pick a publish target dialog, use the publish options as specified in the table below the image:

    Közzétételi cél kiválasztása

    BeállításOption LeírásDescription
    Azure Functions használati tervAzure Functions Consumption plan Ha a projektet egy felhasználásicsomagban futó Function alkalmazásban teszi közzé, csak a functions-alkalmazás végrehajtása után kell fizetnie.When you publish your project to a function app that runs in a Consumption plan, you only pay for executions of your functions app. Más üzemeltetési csomagok magasabb költségekkel járnak.Other hosting plans incur higher costs. További információ: Azure functions skálázás és üzemeltetés.To learn more, see Azure Functions scale and hosting.
    Új létrehozásaCreate new A kapcsolódó erőforrásokkal rendelkező új Function-alkalmazás az Azure-ban jön létre.A new function app, with related resources, is created in Azure. Ha a Meglévő kiválasztása elemet választja, az Azure-beli meglévő függvényalkalmazás összes fájlját felülírják a helyi projekt fájljai.When you choose Select Existing, all files in the existing function app in Azure are overwritten by files from the local project. Csak akkor használja ezt a lehetőséget, ha frissítéseket tesz újra közzé egy meglévő függvényalkalmazásba.Only use this option when republishing updates to an existing function app.
    Futtatás a csomagfájl alapjánRun from package file A Function alkalmazás üzembe helyezése a zip - telepítéssel, a csomaghoz való futtatási móddal engedélyezve.Your function app is deployed using Zip Deploy with Run-From-Package mode enabled. A függvények futtatásának ajánlott módja, ami jobb teljesítményt eredményez.This is the recommended way of running your functions, which results in better performance.
  3. Kattintson a Publish (Közzététel) elemre.Select Publish. Ha még nem jelentkezett be Azure-fiókjába a Visual studióból, válassza a Bejelentkezéslehetőséget.If you haven't already signed-in to your Azure account from Visual Studio, select Sign-in. Létrehozhat egy ingyenes Azure-fiókot is.You can also create a free Azure account.

  4. A app Serviceban: Hozzon létre új párbeszédpanelt, és használja az alábbi táblázatban megadott üzemeltetési beállításokat a rendszerkép alatt:In the App Service: Create new dialog, use the Hosting settings as specified in the table below the image:

    A Create App Service (App Service létrehozása) párbeszédpanel

    BeállításSetting Ajánlott értékSuggested value LeírásDescription
    NameName Globálisan egyedi névGlobally unique name Az új függvényalkalmazást azonosító egyedi név.Name that uniquely identifies your new function app. Érvényes karakterek: a-z, 0-9 és -.Valid characters are a-z, 0-9, and -.
    ElőfizetésSubscription Válassza ki az előfizetésétChoose your subscription A használandó előfizetés.The Azure subscription to use.
    ErőforráscsoportResource Group myResourceGroupmyResourceGroup Az erőforráscsoport neve, amelyben létrehozza a függvényalkalmazást.Name of the resource group in which to create your function app. Válassza az Új elemet egy új erőforráscsoport létrehozásához.Choose New to create a new resource group.
    Üzemeltetési csomagHosting Plan Használatalapú csomagConsumption plan Az új elemre kattintva hozzon létre egy kiszolgáló nélküli tervet, és válassza a méret alatti felhasználás lehetőséget.Make sure to choose the Consumption under Size after you select New to create a serverless plan. Ezenkívül válasszon ki egy Helyet egy, a közelben, vagy a függvények által elért más szolgáltatások közelében található régióban.Also, choose a Location in a region near you or near other services your functions access. Ha nem használatalapú csomagot használ, foglalkoznia kell a függvényalkalmazás méretezésével.When you run in a plan other than Consumption, you must manage the scaling of your function app.
    Azure StorageAzure Storage Általános célú Storage-fiókGeneral-purpose storage account A Functions futtatókörnyezetének szüksége van egy Azure Storage-fiókra.An Azure storage account is required by the Functions runtime. Az új gombra kattintva hozzon létre egy általános célú Storage-fiókot.Select New to create a general-purpose storage account. Meglévő fiókot is használhat, amennyiben az megfelel a tárfiókokra vonatkozó követelményeknek.You can also use an existing account that meets the storage account requirements.
  5. A Létrehozás gombra kattintva létrehozhat egy Function alkalmazást és kapcsolódó erőforrásokat az Azure-ban ezekkel a beállításokkal, és üzembe helyezheti a függvény projekt kódját.Select Create to create a function app and related resources in Azure with these settings and deploy your function project code.

  6. Miután az üzembe helyezés befejeződött, jegyezze fel a webhely URL-címét, amely a függvényalkalmazás címe az Azure-ban.After the deployment is complete, make a note of the Site URL value, which is the address of your function app in Azure.

    Sikeres közzétételt jelző üzenet

Függvényalkalmazás beállításaiFunction app settings

A local. Settings. JSON fájlban hozzáadott beállításokat is fel kell venni az Azure-beli Function alkalmazásba.Any settings you added in the local.settings.json must be also added to the function app in Azure. Ezeket a beállításokat a projekt közzétételekor nem automatikusan feltölti a rendszer.These settings are not uploaded automatically when you publish the project.

A szükséges beállításoknak az Azure-beli Function alkalmazásba való feltöltésének legegyszerűbb módja az Alkalmazásbeállítások kezelése... hivatkozás, amely a projekt sikeres közzétételekor jelenik meg.The easiest way to upload the required settings to your function app in Azure is to use the Manage Application Settings... link that is displayed after you successfully publish your project.

Ez megjeleníti a Function alkalmazás Alkalmazásbeállítások párbeszédpanelét, ahol új Alkalmazásbeállítások hozzáadására vagy a meglévők módosítására van lehetőség.This displays the Application Settings dialog for the function app, where you can add new application settings or modify existing ones.

A Local érték a local. Settings. JSON fájlban, a távoli pedig az Azure-beli Function alkalmazás jelenlegi beállítását jelöli.Local represents a setting value in the local.settings.json file, and Remote is the current setting in the function app in Azure. Új Alkalmazásbeállítás létrehozásához válassza a beállítás hozzáadása lehetőséget.Choose Add setting to create a new app setting. A beállítás értékének a helyi hivatkozásból történő másolásához használja a Setting értéket a távoli mezőre.Use the Insert value from Local link to copy a setting value to the Remote field. A függőben lévő módosítások a helyi beállítások fájlba és a Function alkalmazásba íródnak, amikor az OK gombrakattint.Pending changes are written to the local settings file and the function app when you select OK.

Megjegyzés

Alapértelmezés szerint a local. Settings. JSON fájl nincs bejelölve a verziókövetés számára.By default, the local.settings.json file is not checked into source control. Ez azt jelenti, hogy amikor egy helyi functions-projektet klónozott a forrás vezérlőelemből, a projekthez nem tartozik helyi. Settings. JSON fájl.This means that when you clone a local Functions project from source control, the project doesn't have a local.settings.json file. Ebben az esetben manuálisan kell létrehoznia a local. Settings. JSON fájlt a projekt gyökerében, hogy az alkalmazás beállításai párbeszédpanel a várt módon működjön.In this case, you need to manually create the local.settings.json file in the project root so that the Application Settings dialog works as expected.

Az alkalmazás beállításait az alábbi módokon is kezelheti:You can also manage application settings in one of these other ways:

Figyelési függvényekMonitoring functions

A függvények végrehajtásának ajánlott figyelése a Function alkalmazás Azure Application Insights-nal való integrálásával.The recommended way to monitor the execution of your functions is by integrating your function app with Azure Application Insights. Ha a Azure Portalban hoz létre egy Function alkalmazást, a rendszer alapértelmezés szerint ezt az integrációt végzi.When you create a function app in the Azure portal, this integration is done for you by default. Ha azonban a Visual Studio Publishing szolgáltatásban hozza létre a Function alkalmazást, az Azure-beli Function alkalmazásban való integráció nem történik meg.However, when you create your function app during Visual Studio publishing, the integration in your function app in Azure isn't done.

Application Insights engedélyezése a Function alkalmazáshoz:To enable Application Insights for your function app:

A függvények megkönnyítik Application Insights integráció hozzáadását egy Function-alkalmazáshoz a Azure Portal.Functions makes it easy to add Application Insights integration to a function app from the Azure portal.

  1. A portálválassza a minden szolgáltatás > Function appslehetőséget, válassza ki a Function alkalmazást, majd válassza az ablak tetején található Application Insights szalagcímet.In the portal, select All services > Function Apps, select your function app, and then select the Application Insights banner at the top of the window

    Application Insights engedélyezése a portálról

  2. Hozzon létre egy Application Insights erőforrást a rendszerkép alatti táblázatban megadott beállítások használatával.Create an Application Insights resource by using the settings specified in the table below the image.

    Application Insights-erőforrás létrehozása

    BeállításSetting Ajánlott értékSuggested value LeírásDescription
    NameName Egyedi alkalmazás neveUnique app name A legegyszerűbb, ha ugyanazt a nevet használja, mint a Function alkalmazás, amelynek egyedinek kell lennie az előfizetésében.It's easiest to use the same name as your function app, which must be unique in your subscription.
    LocationLocation Nyugat-EurópaWest Europe Ha lehetséges, használja ugyanazt a régiót , mint a Function alkalmazás, vagy pedig az adott régióhoz közeledik.If possible, use the same region as your function app, or one that's close to that region.
  3. Kattintson az OK gombra.Select OK. A Application Insights erőforrás ugyanabban az erőforráscsoportban és előfizetésben jön létre, mint a Function alkalmazás.The Application Insights resource is created in the same resource group and subscription as your function app. Az erőforrás létrehozása után zárjuk be a Application Insights ablakot.After the resource is created, close the Application Insights window.

  4. Lépjen vissza a Function alkalmazásba, válassza az Alkalmazásbeállításoklehetőséget, majd görgessen le az Alkalmazásbeállítások menüponthoz.Back in your function app, select Application settings, and then scroll down to Application settings. Ha megjelenik egy nevű APPINSIGHTS_INSTRUMENTATIONKEYbeállítás, Application Insights integráció engedélyezve van az Azure-ban futó Function-alkalmazáshoz.If you see a setting named APPINSIGHTS_INSTRUMENTATIONKEY, Application Insights integration is enabled for your function app running in Azure.

További információért lásd: Azure functions figyelése.To learn more, see Monitor Azure Functions.

További lépésekNext steps

Ha többet szeretne megtudni a Azure Functions Core Toolsről, tekintse meg a code and test Azure functions helyilegcímű témakört.To learn more about the Azure Functions Core Tools, see Code and test Azure functions locally.

Ha többet szeretne megtudni a függvények .NET-es kódtáraként való fejlesztéséről, tekintse meg a C# Azure functions fejlesztői referenciát.To learn more about developing functions as .NET class libraries, see Azure Functions C# developer reference. A cikk azt is bemutatja, hogyan használhatók az attribútumok a Azure Functions által támogatott különböző típusú kötések deklarálása céljából.This article also links to examples of how to use attributes to declare the various types of bindings supported by Azure Functions.