Az Azure Functions fejlesztése a Visual Studio Code használatával

A Visual Studio Code Azure Functions-bővítményével helyileg fejleszthet függvényeket, és üzembe helyezheti őket az Azure-ban. Ha ez a felület az első az Azure Functionsben, az Azure Functions bemutatásakor többet is megtudhat.

Az Azure Functions bővítmény az alábbi előnyöket nyújtja:

  • Függvények szerkesztése, összeállítása és futtatása a helyi fejlesztői számítógépen.
  • Az Azure Functions-projektet közvetlenül az Azure-ban teheti közzé.
  • A Visual Studio Code előnyeit kihasználva különböző nyelveken írhat függvényeket.

A cikk C#-verzióját tekinti meg. A cikk elején mindenképpen válassza ki az előnyben részesített Functions-programozási nyelvet.

Ha még nem ismerkedik a Functions szolgáltatásokkal, érdemes lehet először befejeznie a Visual Studio Code rövid útmutatóját.

A cikk Java-verzióját tekinti meg. A cikk elején mindenképpen válassza ki az előnyben részesített Functions-programozási nyelvet.

Ha még nem ismerkedik a Functions szolgáltatásokkal, érdemes lehet először befejeznie a Visual Studio Code rövid útmutatóját.

A cikk JavaScript-verzióját tekinti meg. A cikk elején mindenképpen válassza ki az előnyben részesített Functions-programozási nyelvet.

Ha még nem ismerkedik a Functions szolgáltatásokkal, érdemes lehet először befejeznie a Visual Studio Code rövid útmutatóját.

A cikk PowerShell-verzióját tekinti meg. A cikk elején mindenképpen válassza ki az előnyben részesített Functions-programozási nyelvet.

Ha még nem ismerkedik a Functions szolgáltatásokkal, érdemes lehet először befejeznie a Visual Studio Code rövid útmutatóját.

A cikk Python-verzióját tekinti meg. A cikk elején mindenképpen válassza ki az előnyben részesített Functions-programozási nyelvet.

Ha még nem ismerkedik a Functions szolgáltatásokkal, érdemes lehet először befejeznie a Visual Studio Code rövid útmutatóját.

A cikk TypeScript-verzióját tekinti meg. A cikk elején mindenképpen válassza ki az előnyben részesített Functions-programozási nyelvet.

Ha még nem ismerkedik a Functions szolgáltatásokkal, érdemes lehet először befejeznie a Visual Studio Code rövid útmutatóját.

Fontos

Ne keverje a helyi fejlesztést és a portálfejlesztést egyetlen függvényalkalmazáshoz. Amikor egy helyi projektből egy függvényalkalmazásba tesz közzé, az üzembe helyezési folyamat felülírja a portálon kifejlesztett összes függvényt.

Előfeltételek

Ezekre az előfeltételekre is szükség van a függvények helyi futtatásához és hibakereséséhez. Nem szükséges csupán projekteket létrehozni vagy közzétenni az Azure Functionsben.

  • Az Azure Functions Core Tools, amely integrált helyi hibakeresési élményt tesz lehetővé. Ha telepítve van az Azure Functions-bővítmény, a Core Tools telepítésének vagy frissítésének legegyszerűbb módja a Azure Functions: Install or Update Azure Functions Core Tools parancspaletta parancsának futtatásával.

Azure Functions-projekt létrehozása

A Functions bővítmény lehetővé teszi a szükséges függvényalkalmazás-projekt létrehozását az első függvény létrehozásakor. Ezekkel a lépésekkel http által aktivált függvényt hozhat létre egy új projektben. A HTTP-eseményindító a legegyszerűbben szemléltetendő függvényes triggersablon.

  1. A Tevékenységsávon válassza az Azure ikont. A Munkaterület (Helyi) területen nyissa meg a listát, és válassza a + Függvény létrehozása lehetőséget.

    Képernyőkép egy új projektablak létrehozásáról.

  2. Amikor a rendszer kéri, válassza az Új projekt létrehozása lehetőséget. Válassza ki a projekt-munkaterület könyvtárhelyét, majd válassza a Kiválasztás lehetőséget.

    Létrehozhat egy új mappát, vagy választhat egy üres mappát a projekt-munkaterülethez, de ne válasszon olyan projektmappát, amely már része egy munkaterületnek.

  3. Amikor a rendszer kéri, válassza ki a projekt nyelvét . Szükség esetén válasszon egy adott nyelvi verziót.

  4. Válassza ki a HTTP-eseményindító függvénysablont, vagy a Kihagyás lehetőséget választva függvény nélküli projektet hozhat létre. Később bármikor hozzáadhat egy függvényt a projekthez .

    Képernyőkép a HTTP-eseményindító kiválasztásáról.

    Tipp.

    További sablonokat úgy tekinthet meg, hogy a Sablonszűrő módosítása lehetőséget választja, és az értéket a Core vagy az Összes értékre állítja.

  5. A függvénynévhez írja be a HttpExample nevet, válassza az Enter, majd a Függvény engedélyezése lehetőséget.

    Ehhez az engedélyezési szinthez meg kell adnia egy függvénykulcsot , amikor meghívja a függvényvégpontot.

    Képernyőkép a függvény-engedélyezés létrehozásáról.

  6. A legördülő listában válassza a Hozzáadás a munkaterülethez lehetőséget.

     Képernyőkép a Hozzáadás a munkahelyhez lehetőség kiválasztásáról.

  7. A Mappában lévő fájlok szerzőiben megbízik? ablakban válassza az Igen lehetőséget.

    Képernyőkép a fájlok szerzőiben való megbízhatóság megerősítéséhez.

A Visual Studio Code létrehoz egy függvényt a választott nyelven és a HTTP által aktivált függvény sablonjában.

Létrehozott projektfájlok

A projektsablon létrehoz egy projektet a választott nyelven, és telepíti a szükséges függőségeket. Bármely nyelv esetében az új projekt a következő fájlokat tartalmazza:

  • host.json: Lehetővé teszi a Functions-gazdagép konfigurálását. Ezek a beállítások akkor érvényesek, ha helyileg futtat függvényeket, és amikor az Azure-ban futtatja őket. További információ: host.json referencia.

  • local.settings.json: A függvények helyi futtatásakor használt beállításokat tartja karban. Ezeket a beállításokat csak akkor használja a rendszer, ha helyileg futtat függvényeket. További információt a Helyi beállítások fájlban talál.

    Fontos

    Mivel a local.settings.json fájl tartalmazhat titkos kulcsokat, mindenképpen zárja ki a fájlt a projekt forrásvezérlőjéből.

A nyelvtől függően a következő fájlok jönnek létre:

Egy HttpExample.cs osztálytárfájl, amelynek tartalma attól függően változik, hogy a projekt izolált feldolgozói folyamatban vagy folyamatban fut-e a Functions-gazdagéppel.

  • Egy pom.xml fájl a gyökérmappában, amely meghatározza a projekt- és üzembehelyezési paramétereket, beleértve a projektfüggőségeket és a Java-verziót. A pom.xml az üzembe helyezés során létrehozott Azure-erőforrásokra vonatkozó információkat is tartalmaz.

  • A függvényt megvalósító Functions.java fájl az src elérési úton.

A létrehozott fájlok a Functions kiválasztott Node.js programozási modelljétől függnek:

  • Egy package.json fájl a gyökérmappában.

  • Egy elnevezett .js fájl az src\functions mappában, amely a függvénydefiníciót és a függvénykódot is tartalmazza.

Egy HttpExample-mappa, amely a következőket tartalmazza:

A létrehozott fájlok a Függvényekhez választott Python-programozási modelltől függnek:

  • Projektszintű requirements.txt fájl, amely felsorolja a Functions által igényelt csomagokat.

  • Egy function_app.py fájl, amely a függvénydefiníciót és a kódot is tartalmazza.

Ezen a ponton helyileg futtathatja a HTTP-eseményindító függvényt.

Függvény hozzáadása a projekthez

Az előre definiált Functions-triggersablonok egyikén alapuló új függvényt adhat hozzá egy meglévő projekthez. Új függvényindító hozzáadásához válassza az F1 lehetőséget a parancskatalógus megnyitásához, majd keresse meg és futtassa az Azure Functions: Függvény létrehozása parancsot. Az utasításokat követve válassza ki az eseményindító típusát, és határozza meg az eseményindító szükséges attribútumait. Ha az eseményindítóhoz hozzáférési kulcsra vagy kapcsolati sztring van szükség egy szolgáltatáshoz való csatlakozáshoz, a függvényindító létrehozása előtt készítse elő az elemet.

Ez a művelet hozzáad egy új C#-osztálytárat (.cs) a projekthez.

Ez a művelet hozzáad egy új Java-fájlt (.java) a projekthez.

A művelet eredményei a modell Node.js verziójától függnek.

  • Egy package.json fájl a gyökérmappában.

  • Egy elnevezett .js fájl az src\functions mappában, amely a függvénydefiníciót és a függvénykódot is tartalmazza.

Ez a művelet létrehoz egy új mappát a projektben. A mappa egy új function.json fájlt és az új PowerShell-kódfájlt tartalmazza.

A művelet eredményei a Python-modell verziójától függnek.

A Visual Studio Code új függvénykódot ad hozzá a function_app.py fájlhoz (alapértelmezett viselkedés) vagy egy másik kiválasztott Python-fájlhoz.

Kapcsolódás szolgáltatásokhoz

A függvényt más Azure-szolgáltatásokhoz is csatlakoztathatja bemeneti és kimeneti kötések hozzáadásával. A kötések anélkül csatlakoztatják a függvényt más szolgáltatásokhoz, hogy meg kellene írnia a kapcsolati kódot.

Az adatokat tároló üzenetsorba író kimeneti kötés definiálásának módja például a folyamatmodelltől függ:

  1. Szükség esetén adjon hozzá egy hivatkozást a kötésbővítményt támogató csomaghoz.

  2. Frissítse a függvénymetódust úgy, hogy hozzáadjon egy attribútumot, amely meghatározza a kötési paramétert, például QueueOutput egy üzenetsor kimeneti kötéséhez. Egy objektummal MultiResponse több üzenetet vagy több kimeneti streamet is visszaadhat.

Ha például egy olyan kimeneti kötést szeretne hozzáadni, amely adatokat ír egy tárolási üzenetsorba, frissítse a függvénymetódust, hogy hozzáadjon egy, a QueueOutput jegyzettel definiált kötési paramétert. Az OutputBinding<T> objektum a függvény befejezésekor kimeneti kötésbe írt üzeneteket jelöli.

Az adatokat tároló üzenetsorba író kimeneti kötés definiálásának módja például a Node.js modell verziójától függ:

A Node.js v4-modell használatával manuálisan kell hozzáadnia egy return: beállítást a függvénydefinícióhoz az storageQueueoutput objektumon lévő függvény használatával, amely meghatározza a kimenet írásához használt tárolási üzenetsort return . A kimenet a függvény befejeződésekor lesz megírva.

A Visual Studio Code lehetővé teszi kötések hozzáadását a function.json fájlhoz egy kényelmes kérések követésével.

Kötés hozzáadásához nyissa meg a parancs raklapját (F1), és írja be az Azure Functionst: kötés hozzáadása..., válassza ki az új kötés függvényét, majd kövesse az utasításokat, amelyek a függvényhez hozzáadott kötés típusától függően változnak.

Az alábbi példa egy új tárkimeneti kötés definiálására kéri:

Adatkérés Érték Leírás
Kötés irányának kiválasztása out A kötés kimeneti kötés.
Kötés kiválasztása iránysal Azure Queue Storage A kötés egy Azure Storage-üzenetsor kötése.
A kötés azonosítására használt név a kódban msg A kódban hivatkozott kötési paramétert azonosító név.
Az üzenetsor, amelybe az üzenet el lesz küldve outqueue Annak az üzenetsornak a neve, amelybe a kötés ír. Ha a queueName nem létezik, a kötés az első használatkor hozza létre.
Válassza ki a beállítást a "local.settings.json" elemből MyStorageConnection A tárfiók kapcsolati sztring tartalmazó alkalmazásbeállítás neve. A AzureWebJobsStorage beállítás tartalmazza a függvényalkalmazással létrehozott tárfiók kapcsolati sztring.

A jobb gombbal a függvénymappában lévő function.json fájlra is kattinthat (Ctrl+kattintson a macOS billentyűkombinációra), válassza a Kötés hozzáadása lehetőséget, és kövesse ugyanazokat az utasításokat.

Ebben a példában a következő kötés lesz hozzáadva a bindings function.json fájl tömbjéhez:

{
    "type": "queue",
    "direction": "out",
    "name": "msg",
    "queueName": "outqueue",
    "connection": "MyStorageConnection"
}

Az adatokat tároló üzenetsorba író kimeneti kötés definiálásának módja például a Python-modell verziójától függ:

A @queue_output függvény dekorátora egy elnevezett kötési paraméter definiálására szolgál a kimenethez a tárolási üzenetsorba, ahol func.Out meghatározza, hogy milyen kimenetet ír.

Az alábbi példa a függvénydefiníciót mutatja be, miután hozzáadott egy Queue Storage kimeneti kötést egy HTTP-aktivált függvényhez:

Mivel a HTTP által aktivált függvény HTTP-választ is ad vissza, a függvény egy MultiResponse objektumot ad vissza, amely a HTTP és az üzenetsor kimenetét egyaránt jelöli.

[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
    FunctionContext executionContext)
{

Ez a példa a kimeneti kötést MultiResponse tartalmazó objektum definíciója:

public class MultiResponse
{
    [QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

A példának a saját projektre való alkalmazásakor előfordulhat, hogy át kell váltania HttpRequestHttpRequestData a HttpResponseDataIActionResult ASP.NET Core-integrációra, vagy sem.

A függvény befejeződésekor a rendszer üzeneteket küld az üzenetsorba. A kimeneti kötés definiálásának módja a folyamatmodelltől függ. További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

@FunctionName("HttpExample")
public HttpResponseMessage run(
        @HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) 
        HttpRequestMessage<Optional<String>> request, 
        @QueueOutput(name = "msg", queueName = "outqueue", 
        connection = "AzureWebJobsStorage") OutputBinding<String> msg, 
        final ExecutionContext context) {

További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

Példa kötés Node.js v4-modellhez még nem érhető el.

A kimeneti kötés definiálásának módja a Node.js modell verziójától függ. További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg

További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

@app.route(route="HttpExample")
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
def HttpExample(req: func.HttpRequest, msg: func.Out [func.QueueMessage]) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

A kimeneti kötés definiálásának módja a Python-modell verziójától függ. További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

Példa kötés Node.js v4-modellhez még nem érhető el.

A kimeneti kötés definiálásának módja a Node.js modell verziójától függ. További információ, beleértve a példa kötéskódra mutató hivatkozásokat, amelyekre hivatkozhat, olvassa el a Kötések hozzáadása függvényhez című témakört.

Bejelentkezés az Azure-ba

Az Azure-erőforrások létrehozása vagy az alkalmazás közzététele előtt be kell jelentkeznie az Azure-ba.

  1. Ha még nincs bejelentkezve, válassza az Azure ikont a Tevékenységsávon. Ezután az Erőforrások területen válassza a Bejelentkezés az Azure-ba... lehetőséget.

    Képernyőkép az Azure-ba való bejelentkezésről a VS Code-ban.

    Ha már bejelentkezett, és láthatja a meglévő előfizetéseit, lépjen a következő szakaszra. Ha még nem rendelkezik Azure-fiókkal, válassza az Azure-fiók létrehozása...lehetőséget. A diákok választhatják az Azure for Students-fiók létrehozását....

  2. Amikor a rendszer kéri a böngészőben, válassza ki az Azure-fiókját, és jelentkezzen be az Azure-fiók hitelesítő adataival. Ha új fiókot hoz létre, a fiók létrehozása után bejelentkezhet.

  3. Miután sikeresen bejelentkezett, bezárhatja az új böngészőablakot. Az Azure-fiókhoz tartozó előfizetések az oldalsávon jelennek meg.

Azure-erőforrások létrehozása

Ahhoz, hogy közzétehesse a Functions-projektet az Azure-ban, rendelkeznie kell egy függvényalkalmazással és a kapcsolódó erőforrásokkal az Azure-előfizetésben a kód futtatásához. A függvényalkalmazás végrehajtási környezetet biztosít a függvények számára. Amikor a Visual Studio Code-ból egy Azure-beli függvényalkalmazásban teszi közzé a projektet, a rendszer csomagolja és telepíti a projektet az Azure-előfizetésében lévő kiválasztott függvényalkalmazásba.

Amikor függvényalkalmazást hoz létre az Azure-ban, választhat egy gyorsfüggvény-alkalmazás létrehozási útvonalát alapértelmezett vagy speciális elérési út használatával. Így jobban szabályozhatja a távoli erőforrások létrehozását.

Gyorsfüggvény-alkalmazás létrehozása

Ebben a szakaszban egy függvényalkalmazást és kapcsolódó erőforrásokat hoz létre az Azure-előfizetésében.

  1. Válassza az Azure ikont a Tevékenységsávon. Ezután az Erőforrások területen válassza az ikont + , és válassza a Függvényalkalmazás létrehozása az Azure-ban lehetőséget.

    Erőforrás létrehozása az Azure-előfizetésben

  2. Amikor a rendszer kéri, adja meg az alábbi információkat:

    Adatkérés Kiválasztás
    Előfizetés kiválasztása Válassza ki a használni kívánt előfizetést. Ez a kérdés nem jelenik meg, ha csak egy előfizetés látható az Erőforrások területen.
    Adja meg a függvényalkalmazás globálisan egyedi nevét Írjon be egy URL-elérési úton érvényes nevet. A beírt név ellenőrzése ellenőrzi, hogy egyedi-e az Azure Functionsben.
    Futtatókörnyezeti verem kiválasztása Válassza ki azt a nyelvi verziót, amelyen helyileg fut.
    Új erőforrások helyének kiválasztása A jobb teljesítmény érdekében válasszon egy Önhöz közeli régiót.

    A bővítmény az egyes erőforrások állapotát jeleníti meg az Azure-ban az Azure: Tevékenységnapló panelen való létrehozásuk során.

    Az Azure-erőforrások létrehozásának naplója

  3. Amikor a létrehozás befejeződött, a következő Azure-erőforrások jönnek létre az előfizetésben. Az erőforrások neve a függvényalkalmazás neve alapján van elnevezve:

    • Egy erőforráscsoport, amely a kapcsolódó erőforrások logikai tárolója.
    • Egy standard Azure Storage-fiók, amely fenntartja a projektek állapotát és egyéb adatait.
    • Egy függvényalkalmazás, amely a függvénykód végrehajtásához biztosítja a környezetet. A függvényalkalmazásokkal logikai egységként csoportosíthatja a függvényeket az erőforrások egyszerűbb kezelése, üzembe helyezése és megosztása érdekében ugyanabban az üzemeltetési csomagban.
    • App Service-csomag, amely meghatározza a függvényalkalmazás mögöttes gazdagépét.
    • Egy alkalmazás Elemzések függvényalkalmazáshoz csatlakoztatott példányt, amely nyomon követi a függvények használatát az alkalmazásban.

    A függvényalkalmazás létrehozása és a telepítőcsomag alkalmazása után megjelenik egy értesítés.

    Tipp.

    Alapértelmezés szerint a függvényalkalmazás által igényelt Azure-erőforrások a megadott függvényalkalmazás-név alapján jönnek létre. Alapértelmezés szerint ugyanabban az új erőforráscsoportban is létrejönnek a függvényalkalmazással. Ha testre szeretné szabni ezeknek az erőforrásoknak a nevét, vagy újra szeretné használni a meglévő erőforrásokat, akkor inkább speciális létrehozási lehetőségekkel kell közzétennie a projektet.

Projekt közzététele új függvényalkalmazásban az Azure-ban speciális beállítások használatával

Az alábbi lépésekkel közzéteheti a projektet egy speciális létrehozási lehetőségekkel létrehozott új függvényalkalmazásban:

  1. A parancskatalógusban adja meg az Azure Functions: Függvényalkalmazás létrehozása az Azure-ban... (Speciális).

  2. Ha nincs bejelentkezve, a rendszer kérni fogja, hogy jelentkezzen be az Azure-ba. Ingyenes Azure-fiókot is létrehozhat. Miután bejelentkezett a böngészőből, térjen vissza a Visual Studio Code-hoz.

  3. Az utasításokat követve adja meg ezt az információt:

    Adatkérés Kiválasztás
    Adjon meg egy globálisan egyedi nevet az új függvényalkalmazásnak. Írjon be egy globálisan egyedi nevet, amely azonosítja az új függvényalkalmazást, majd válassza az Enter lehetőséget. A függvényalkalmazás nevéhez használható érvényes karakterek a következők: a-z, 0-9 és -.
    Válasszon ki egy futtatókörnyezeti vermet. Válassza ki a helyileg futó nyelvi verziót.
    Válasszon ki egy operációs rendszert. Válassza a Linux vagy a Windows lehetőséget. A Python-alkalmazásoknak Linuxon kell futniuk.
    Válasszon egy erőforráscsoportot az új erőforrásokhoz. Válassza az Új erőforráscsoport létrehozása lehetőséget, és adjon meg egy erőforráscsoportnevet, például a myResourceGroup nevet. Kiválaszthat egy meglévő erőforráscsoportot is.
    Válasszon egy helyet az új erőforrásokhoz. Válasszon ki egy helyet egy Önhöz közeli régióban vagy a függvények által elérhető egyéb szolgáltatások közelében.
    Válasszon egy üzemeltetési tervet. Válassza a Kiszolgáló nélküli használat csomag üzemeltetése lehetőséget, ahol csak a függvények futtatásakor kell fizetnie.
    Válasszon ki egy tárfiókot. Válassza az Új tárfiók létrehozása lehetőséget, és a parancssorban adjon meg egy globálisan egyedi nevet a függvényalkalmazás által használt új tárfióknak. A tárfiókok nevének 3 és 24 karakter közötti hosszúságúnak kell lennie, és csak számokat és kisbetűket tartalmazhat. Egy meglévő fiókot is kijelölhet.
    Válasszon egy alkalmazás-Elemzések erőforrást az alkalmazáshoz. Válassza az Új alkalmazás létrehozása Elemzések erőforrást, és a parancssorban adja meg a futtatókörnyezet adatainak a függvényekből való tárolására használt példány nevét.

    A függvényalkalmazás létrehozása és az üzembe helyezési csomag alkalmazása után megjelenik egy értesítés. Ha meg szeretné tekinteni a létrehozási és üzembe helyezési eredményeket, beleértve a létrehozott Azure-erőforrásokat, válassza a Kimenet megtekintése lehetőséget ebben az értesítésben.

HTTP által aktivált függvény URL-címének lekérése az Azure-ban

Ha http-aktivált függvényt szeretne meghívni egy ügyféltől, szüksége van a függvény URL-címére, amely az üzembe helyezés után érhető el a függvényalkalmazásban. Ez az URL-cím tartalmazza a szükséges függvénykulcsokat. A bővítmény használatával lekérheti ezeket az URL-címeket az üzembe helyezett függvényekhez. Ha csak az Azure-ban szeretné futtatni a távoli függvényt, használja a bővítmény Execute függvény most funkcióját.

  1. Válassza az F1 lehetőséget a parancskatalógus megnyitásához, majd keresse meg és futtassa az Azure Functions: Copy Function URL parancsot.

  2. Az utasításokat követve válassza ki a függvényalkalmazást az Azure-ban, majd a meghívni kívánt HTTP-eseményindítót.

A függvény URL-címét a rendszer a vágólapra másolja, valamint a code lekérdezési paraméter által átadott szükséges kulcsokat. A POST-kérések elküldéséhez HTTP-eszközzel vagy böngészővel küldje el a GET kéréseket a távoli függvénynek.

Amikor a bővítmény lekéri egy függvény URL-címét az Azure-ban, a bővítmény az Azure-fiókjával automatikusan lekéri a függvény indításához szükséges kulcsokat. További információ a függvényelérési kulcsokról. A nem HTTP által aktivált függvények indításához rendszergazdai kulcsot kell használni.

Projektfájlok üzembe helyezése

Javasoljuk, hogy a folyamatos üzembe helyezést úgy állítsa be, hogy az Azure-beli függvényalkalmazás frissüljön a forrásfájlok csatlakoztatott forráshelyen történő frissítésekor. A projektfájlokat a Visual Studio Code-ból is üzembe helyezheti. A Visual Studio Code-ból való közzétételkor kihasználhatja a Zip üzembe helyezési technológiáját.

Fontos

A meglévő függvényalkalmazásban való üzembe helyezés mindig felülírja az alkalmazás tartalmát az Azure-ban.

  1. Az Azure-tevékenység Erőforrások területén keresse meg az imént létrehozott függvényalkalmazás-erőforrást, kattintson a jobb gombbal az erőforrásra, és válassza az Üzembe helyezés függvényalkalmazáshoz... lehetőséget.

  2. Amikor a rendszer kéri a korábbi üzemelő példányok felülírását, válassza az Üzembe helyezés lehetőséget a függvénykód új függvényalkalmazás-erőforrásban való üzembe helyezéséhez.

  3. Az üzembe helyezés befejezése után válassza a Kimenet megtekintése lehetőséget a létrehozási és üzembe helyezési eredmények megtekintéséhez, beleértve a létrehozott Azure-erőforrásokat is. Ha nem jelenik meg az értesítés, a jobb alsó sarokban lévő harang ikont választva ismét láthatja.

    Képernyőkép a Kimenet megtekintése ablakról.

Függvények futtatása

Az Azure Functions-bővítmény lehetővé teszi az egyes függvények futtatását. A függvényeket futtathatja a projektben a helyi fejlesztőszámítógépen vagy az Azure-előfizetésében.

HTTP-triggerfüggvények esetén a bővítmény meghívja a HTTP-végpontot. Más típusú eseményindítók esetén a bővítmény rendszergazdai API-kat hív meg a függvény elindításához. A függvénynek küldött kérés üzenettörzse az eseményindító típusától függ. Ha egy eseményindító tesztadatokat igényel, a rendszer arra kéri, hogy adjon meg adatokat egy adott JSON-formátumban.

Függvények futtatása az Azure-ban

Ha egy függvényt a Visual Studio Code-ból szeretne végrehajtani az Azure-ban, kövesse az alábbi lépéseket:

  1. A parancskatalógusban adja meg az Azure Functions: Execute függvényt, és válassza ki az Azure-előfizetést.

  2. A listából válassza ki a függvényalkalmazást az Azure-ban. Ha nem látja a függvényalkalmazást, győződjön meg arról, hogy a megfelelő előfizetésbe jelentkezett be.

  3. A listából válassza ki a futtatni kívánt függvényt. Az Enter kérelemtörzsbe írja be a kérés üzenettörzsét, és nyomja le az Enter billentyűt a kérés üzenetének a függvénynek való elküldéséhez.

    Az Enter kérelem törzsének alapértelmezett szövege a törzs formátumát jelzi. Ha a függvényalkalmazás nem rendelkezik függvényekkel, ezzel a hibával értesítési hiba jelenik meg.

    Amikor a függvény az Azure-ban fut, és választ ad vissza, a Visual Studio Code értesítést jelenít meg.

A függvényt az Azure: Functions területről is futtathatja, ha megnyitja annak a függvénynek a helyi menüjét, amelyet az Azure-előfizetésében lévő függvényalkalmazásból szeretne futtatni, majd válassza a Függvény végrehajtása most... lehetőséget.

Amikor a Visual Studio Code-ból futtatja a függvényeket az Azure-ban, a bővítmény az Azure-fiókjával automatikusan lekéri a függvény indításához szükséges kulcsokat. További információ a függvényelérési kulcsokról. A nem HTTP által aktivált függvények indításához rendszergazdai kulcsot kell használni.

Függvények helyi futtatása

A helyi futtatókörnyezet ugyanaz a futtatókörnyezet, amely az Azure-ban üzemelteti a függvényalkalmazást. A helyi beállítások a local.settings.json fájlból olvashatók be. A Functions-projekt helyi futtatásához több követelménynek is meg kell felelnie.

A projekt helyi futtatásának konfigurálása

A Functions-futtatókörnyezet belső Azure Storage-fiókot használ a HTTP és a webhookok kivételével minden triggertípushoz. Ezért be kell állítania a Values.AzureWebJobsStorage kulcsot egy érvényes Azure Storage-fiókra kapcsolati sztring.

Ez a szakasz a Visual Studio Code-hoz készült Azure Storage-bővítményt és az Azure Storage Explorert használja a tárolási kapcsolati sztring való csatlakozáshoz és lekéréséhez.

A tárfiók kapcsolati sztring beállítása:

  1. A Visual Studióban nyissa meg a Cloud Explorert, bontsa ki a Tárfiók>a tárfiókot, majd válassza a Tulajdonságok lehetőséget, és másolja az elsődleges Csatlakozás ion sztring értékét.

  2. A projektben nyissa meg a local.settings.json fájlt, és állítsa az AzureWebJobsStorage kulcs értékét a másolt kapcsolati sztring.

  3. Ismételje meg az előző lépést, ha egyedi kulcsokat szeretne hozzáadni az Értékek tömbhöz a függvények által igényelt egyéb kapcsolatokhoz.

További információt a Helyi beállítások fájlban talál.

Függvények helyi hibakeresése

A függvények hibakereséséhez válassza az F5 lehetőséget. Ha a Core Tools nem érhető el, a rendszer kérni fogja a telepítést. A Core Tools telepítése és futtatásakor a kimenet megjelenik a terminálban. Ez a lépés megegyezik a func start Core Tools parancs terminálból való futtatásával, de további buildelési feladatokkal és egy csatolt hibakeresővel.

Amikor a projekt fut, a bővítmény Végrehajtási függvény funkciójával ugyanúgy aktiválhatja a függvényeket, mint a projekt Azure-ban való üzembe helyezésekor. Ha a projekt hibakeresési módban fut, a Töréspontok a Visual Studio Code-ban a várt módon jelennek meg.

  1. A parancskatalógusban adja meg az Azure Functions: Execute függvényt, és válassza a Helyi projekt lehetőséget.

  2. Válassza ki a projektben futtatni kívánt függvényt, és írja be a kérés üzenettörzsét az Enter kérelemtörzsbe. Az Enter billentyűt lenyomva küldje el ezt a kérésüzenetet a függvénynek. Az Enter kérelem törzsének alapértelmezett szövegének meg kell jelölnie a törzs formátumát. Ha a függvényalkalmazás nem rendelkezik függvényekkel, ezzel a hibával értesítési hiba jelenik meg.

  3. Amikor a függvény helyileg fut, és a válasz beérkezése után egy értesítés jön létre a Visual Studio Code-ban. A függvény végrehajtásával kapcsolatos információk a Terminál panelen jelennek meg.

Helyi futtatáskor nincs szükség kulcsokra, ami a függvénykulcsokra és a rendszergazdai szintű kulcsokra is vonatkozik.

Alkalmazásbeállítások helyi használata

Ha függvényalkalmazásban fut az Azure-ban, a függvények által megkövetelt beállítások biztonságosan tárolódnak az alkalmazásbeállításokban. A helyi fejlesztés során ezeket a beállításokat a rendszer ehelyett hozzáadja a Values gyűjteményhez a local.settings.json fájlban. A local.settings.json fájl a helyi fejlesztési eszközök által használt beállításokat is tárolja.

Values A projekt local.settings.json fájljában található gyűjtemény elemei a függvényalkalmazás azure-beli alkalmazásbeállításaiban lévő elemek tükrözésére szolgálnak.

Alapértelmezés szerint ezek a beállítások nem lesznek automatikusan migrálva, amikor a projektet közzéteszik az Azure-ban. A közzététel befejezése után lehetősége van a beállítások közzétételére az local.settings.json-ból az Azure-beli függvényalkalmazásba. További információ: Alkalmazásbeállítások közzététele.

A Csatlakozás ionStrings értékei soha nem lesznek közzétéve.

A függvényalkalmazás beállításainak értékei környezeti változókként is olvashatók a kódban. További információ: Környezeti változók.

  • A függvényalkalmazás beállításainak értékei környezeti változókként is olvashatók a kódban. További információ: Környezeti változók.
  • A függvényalkalmazás beállításainak értékei környezeti változókként is olvashatók a kódban. További információ: Környezeti változók.
  • A függvényalkalmazás beállításainak értékei környezeti változókként is olvashatók a kódban. További információ: Környezeti változók.
  • A függvényalkalmazás beállításainak értékei környezeti változókként is olvashatók a kódban. További információ: Környezeti változók.

Alkalmazásbeállítások az Azure-ban

A projekt local.settings.json fájljának beállításainak meg kell egyeznie az Azure-beli függvényalkalmazás alkalmazásbeállításaival. A local.settings.json hozzáadott beállításokat az Azure-ban is hozzá kell adnia a függvényalkalmazáshoz. Ezek a beállítások nem lesznek automatikusan feltöltve a projekt közzétételekor. Hasonlóképpen, a függvényalkalmazásban a portálon létrehozott beállításokat is le kell tölteni a helyi projektbe.

Alkalmazásbeállítások közzététele

A szükséges beállítások azure-beli közzétételének legegyszerűbb módja a projekt közzététele után megjelenő Beállítások feltöltése hivatkozás használata:

Képernyőkép az alkalmazásbeállítások feltöltéséhez.

A beállításokat az Azure Functions: Helyi beállítás feltöltése parancsával is közzéteheti a parancskatalógusban. Az Azure Functions: Add New Setting paranccsal egyéni beállításokat adhat hozzá az azure-beli alkalmazásbeállításokhoz.

Tipp.

A közzététel előtt mindenképpen mentse a local.settings.json fájlt.

Ha a helyi fájl titkosítva van, az újra vissza lesz fejtve, közzétéve és titkosítva. Ha vannak olyan beállítások, amelyek ütköző értékekkel rendelkeznek a két helyen, a rendszer kérni fogja, hogy válassza ki a folytatás módját.

Tekintse meg a meglévő alkalmazásbeállításokat az Azure: Functions területen az előfizetés, a függvényalkalmazás és az alkalmazás Gépház kibontásával.

 Képernyőkép a függvényalkalmazás beállításainak megtekintéséről a Visual Studio Code-ban.

Beállítások letöltése az Azure-ból

Ha alkalmazásbeállításokat hozott létre az Azure-ban, az Azure Functions: Távoli Gépház parancs használatával letöltheti őket a local.settings.json fájlba.

A feltöltéshez hasonlóan, ha a helyi fájl titkosítva van, az újra vissza lesz fejtve, frissítve és titkosítva. Ha vannak olyan beállítások, amelyek ütköző értékekkel rendelkeznek a két helyen, a rendszer kérni fogja, hogy válassza ki a folytatás módját.

Kötési bővítmények telepítése

A HTTP- és időzítő-triggerek kivételével a kötések bővítménycsomagokban implementálódnak.

Kifejezetten telepítenie kell a bővítménycsomagokat a szükséges eseményindítókhoz és kötésekhez. A telepített csomag a projekt folyamatmodelljétől függ.

Futtassa a dotnet add package parancsot a terminálablakban a projektben szükséges bővítménycsomagok telepítéséhez. Ez a sablon bemutatja, hogyan adhat hozzá kötést egy izolált folyamatú osztálytárhoz:

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.<BINDING_TYPE_NAME> --version <TARGET_VERSION>

Cserélje le <BINDING_TYPE_NAME> a szükséges kötést tartalmazó csomag nevére. A kívánt kötési referenciacikket a támogatott kötések listájában találja.

Cserélje le <TARGET_VERSION> a példában a csomag egy adott verziójára, például 3.0.0-beta5. Az érvényes verziók a NuGet.org egyes csomagoldalain jelennek meg. Az aktuális Functions-futtatókörnyezetnek megfelelő főverziókat a kötés referenciacikke határozza meg.

A C#-szkript bővítménykötegeket használ.

A kötésbővítmények telepítésének legegyszerűbb módja a bővítménykötegek engedélyezése. A csomagok engedélyezésekor a bővítménycsomagok előre definiált készlete automatikusan telepítve lesz.

A bővítménycsomagok engedélyezéséhez nyissa meg a host.json fájlt, és frissítse annak tartalmát az alábbi kódnak megfelelően:

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

Ha valamilyen okból nem tud bővítménycsomagot használni a projekt kötésbővítményeinek telepítéséhez, olvassa el az Explicitly install extensions (Bővítmények explicit telepítése) című témakört.

Monitorozási függvények

Ha helyileg futtat függvényeket, a rendszer a naplóadatokat a terminálkonzolra streameli. Naplóadatokat is lekérhet, ha a Functions-projekt egy Azure-beli függvényalkalmazásban fut. Az Azure-ban a streamelési naplókhoz kapcsolódva közel valós idejű naplóadatokat tekinthet meg. Engedélyeznie kell az Alkalmazás Elemzések a függvényalkalmazás működésének teljesebb megértéséhez.

Streamelési naplók

Alkalmazás fejlesztésekor gyakran hasznos, ha közel valós időben tekinti meg a naplózási információkat. Megtekintheti a függvények által létrehozott naplófájlok adatfolyamát. Kapcsolja be a naplókat a parancspalettáról a Azure Functions: Start streaming logs paranccsal. Ez a kimenet példa a HTTP által aktivált függvényre irányuló kérések streamelési naplóira:

Képernyőkép a H T T P eseményindító streamnaplóinak kimenetéhez.

További információ: Streamnaplók.

Application Insights

A függvények végrehajtását úgy kell figyelnie, hogy a függvényalkalmazást integrálja az Alkalmazás Elemzések. Amikor függvényalkalmazást hoz létre az Azure Portalon, ez az integráció alapértelmezés szerint megtörténik. Amikor a Visual Studio közzététele során hozza létre a függvényalkalmazást, integrálnia kell az alkalmazást Elemzések. További információt az Alkalmazás Elemzések integrációjának engedélyezése című témakörben talál.

Az Alkalmazás Elemzések használatával történő monitorozásról további információt az Azure Functions monitorozása című témakörben talál.

C#-szkriptprojektek

Alapértelmezés szerint az összes C#-projekt C# által lefordított osztálytárprojektként jön létre. Ha inkább c#-szkriptprojektekkel szeretne dolgozni, az Azure Functions bővítmény beállításaiban alapértelmezett nyelvként a C# szkriptet kell választania:

  1. Válassza a Fájlbeállítások>> Gépház lehetőséget.

  2. Lépjen a Felhasználói Gépház> Extensions>Azure Functions elemre.

  3. Válassza ki a C#-szkriptet az Azure-függvényből : Projektnyelv.

A lépések elvégzése után a mögöttes Core Toolshoz intézett hívások közé tartozik a --csx beállítás, amely C#-szkript (.csx) projektfájlokat hoz létre és tesz közzé. Ha meg van adva ez az alapértelmezett nyelv, az összes olyan projekt, amelyet alapértelmezés szerint C#-szkriptprojektekként hoz létre. Ha az alapértelmezett beállítás be van állítva, a rendszer nem kéri projektnyelv kiválasztását. Ha más nyelveken szeretne projekteket létrehozni, módosítania kell ezt a beállítást, vagy el kell távolítania azt a felhasználó settings.json fájlból. A beállítás eltávolítása után a rendszer ismét kérni fogja, hogy válassza ki a nyelvet a projekt létrehozásakor.

Parancskatalógus-referencia

Az Azure Functions-bővítmény hasznos grafikus felületet biztosít az Azure-beli függvényalkalmazásokkal való interakcióhoz. Ugyanez a funkció a parancskatalógus (F1) parancsaival is elérhető. A következő Azure Functions-parancsok érhetők el:

Azure Functions-parancs Leírás
Új Gépház hozzáadása Új alkalmazásbeállítást hoz létre az Azure-ban. További információ: Alkalmazásbeállítások közzététele. Előfordulhat, hogy ezt a beállítást a helyi beállításokra is le kell töltenie.
Központi telepítési forrás konfigurálása Csatlakozás a függvényalkalmazást az Azure-ban egy helyi Git-adattárba. További információ: Folyamatos üzembe helyezés az Azure Functionsben.
Csatlakozás a GitHub-adattárba Csatlakozás a függvényalkalmazást egy GitHub-adattárba.
Függvény URL-címének másolása Lekéri az Azure-ban futó HTTP-aktivált függvény távoli URL-címét. További információ: Az üzembe helyezett függvény URL-címének lekérése.
Függvényalkalmazás létrehozása az Azure-ban Új függvényalkalmazást hoz létre az Előfizetésében az Azure-ban. További információkért tekintse meg a közzétételt egy új függvényalkalmazásban az Azure-ban.
Gépház visszafejtése Visszafejti az Azure Functions által titkosított helyi beállításokat: Titkosítási Gépház.
Függvényalkalmazás törlése Eltávolít egy függvényalkalmazást az Előfizetésből az Azure-ban. Ha az App Service-csomagban nincsenek más alkalmazások, ezt is törölheti. Más erőforrások, például tárfiókok és erőforráscsoportok nem törlődnek. Az összes erőforrás eltávolításához inkább törölje az erőforráscsoportot. A helyi projektre nincs hatással.
Függvény törlése Eltávolít egy meglévő függvényt egy azure-beli függvényalkalmazásból. Mivel ez a törlés nem érinti a helyi projektet, fontolja meg a függvény helyi eltávolítását, majd a projekt újbóli közzétételét.
Proxy törlése Eltávolít egy Azure Functions-proxyt az Azure-beli függvényalkalmazásból. A proxykkal kapcsolatos további információkért tekintse meg az Azure Functions-proxyk használata című témakört.
Törlési beállítás Egy függvényalkalmazás-beállítás törlése az Azure-ban. Ez a törlés nem befolyásolja a local.settings.json fájl beállításait.
Kapcsolat bontása a tárházból Eltávolítja a folyamatos üzembehelyezési kapcsolatot egy Azure-beli függvényalkalmazás és egy forrásvezérlő tárház között.
Távoli Gépház letöltése Letölti a beállításokat az Azure kiválasztott függvényalkalmazásából a local.settings.json fájlba. Ha a helyi fájl titkosítva van, az újra vissza lesz fejtve, frissítve és titkosítva. Ha vannak olyan beállítások, amelyek ütköző értékekkel rendelkeznek a két helyen, a rendszer kérni fogja, hogy válassza ki a folytatás módját. A parancs futtatása előtt mindenképpen mentse a local.settings.json fájl módosításait.
Beállítások szerkesztése Módosítja egy meglévő függvényalkalmazás-beállítás értékét az Azure-ban. Ez a parancs nem befolyásolja a local.settings.json fájl beállításait.
Beállítások titkosítása A tömb egyes elemeit a Values helyi beállításokban titkosítja. Ebben a fájlban IsEncrypted is be van állítva truea beállítás, amely megadja, hogy a helyi futtatókörnyezet visszafejtési beállításai a használat előtt. A helyi beállítások titkosítása az értékes információk kiszivárgásának kockázatának csökkentése érdekében. Az Azure-ban az alkalmazásbeállítások mindig titkosítva vannak tárolva.
Függvény végrehajtása most Manuálisan indít el egy függvényt rendszergazdai API-k használatával. Ezt a parancsot helyileg, hibakereséskor és az Azure-ban futó függvények tesztelésére használják. Amikor elindul egy függvény az Azure-ban, a bővítmény először automatikusan beszerez egy rendszergazdai kulcsot, amelyet az Azure-ban függvényeket indító távoli rendszergazdai API-k meghívására használ. Az API-nak küldött üzenet törzse az eseményindító típusától függ. Az időzítő eseményindítói nem követelik meg, hogy adatokat adjon át.
Project inicializálása VS Code-tal Hozzáadja a szükséges Visual Studio Code-projektfájlokat egy meglévő Functions-projekthez. Ezzel a paranccsal a Core Tools használatával létrehozott projekttel dolgozhat.
Az Azure Functions Core-eszközök telepítése vagy frissítése Telepíti vagy frissíti az Azure Functions Core Toolst, amely a függvények helyi futtatására szolgál.
Ismételt üzembe helyezés Lehetővé teszi a projektfájlok ismételt üzembe helyezését egy csatlakoztatott Git-adattárból egy adott Azure-beli üzembe helyezésre. A helyi frissítések Visual Studio Code-ból való ismételt közzétételéhez tegye közzé újra a projektet.
Átnevezés Gépház Módosítja egy meglévő függvényalkalmazás-beállítás kulcsnevét az Azure-ban. Ez a parancs nem befolyásolja a local.settings.json fájl beállításait. Miután átnevezte a beállításokat az Azure-ban, le kell töltenie ezeket a módosításokat a helyi projektbe.
Indítsa újra Újraindítja a függvényalkalmazást az Azure-ban. A frissítések üzembe helyezése a függvényalkalmazást is újraindítja.
Az AzureWebJobsStorage beállítása Beállítja AzureWebJobsStorage az alkalmazásbeállítás értékét. Ezt a beállítást az Azure Functions megköveteli. Ez akkor van beállítva, amikor egy függvényalkalmazást hoz létre az Azure-ban.
Elkezd Leállított függvényalkalmazás indítása az Azure-ban.
Streamnaplók indítása Elindítja a függvényalkalmazás streamnaplóit az Azure-ban. Ha közel valós időben kell látnia a naplózási adatokat, használjon streamelési naplókat távoli hibaelhárítás során az Azure-ban. További információ: Streamnaplók.
Leállítás Leállítja az Azure-ban futó függvényalkalmazást.
Streamelési naplók leállítása Leállítja a függvényalkalmazás streamnaplóit az Azure-ban.
Váltás pontbeállításként Ha engedélyezve van, biztosítja, hogy egy alkalmazásbeállítás megmaradjon egy adott üzembehelyezési ponton.
Az Azure Functions Core Tools eltávolítása Eltávolítja az Azure Functions Core Toolst, amelyet a bővítmény igényel.
Helyi Gépház feltöltése Feltölti a beállításokat a local.settings.json fájlból a kiválasztott függvényalkalmazásba az Azure-ban. Ha a helyi fájl titkosítva van, az újra vissza lesz fejtve, feltöltve és titkosítva. Ha vannak olyan beállítások, amelyek ütköző értékekkel rendelkeznek a két helyen, a rendszer kérni fogja, hogy válassza ki a folytatás módját. A parancs futtatása előtt mindenképpen mentse a local.settings.json fájl módosításait.
Véglegesítés megtekintése a GitHubon Megjeleníti az adott üzembe helyezés legújabb véglegesítését, amikor a függvényalkalmazás egy adattárhoz csatlakozik.
Üzembehelyezési naplók megtekintése Megjeleníti az Azure-beli függvényalkalmazásban egy adott üzembe helyezés naplóit.

Következő lépések

Az Azure Functions Core Toolsról további információt az Azure Functions Core Tools használata című témakörben talál.

Ha többet szeretne megtudni a függvények .NET-osztálykódtárakként való fejlesztéséről, tekintse meg az Azure Functions C# fejlesztői referenciaanyagát. Ez a cikk példákat is tartalmaz arra, hogyan deklarálhatók az Azure Functions által támogatott különböző típusú kötések.