Rövid útmutató: Az első C#-függvény létrehozása az Azure-ban a Visual Studióval

Azure Functions lehetővé teszi, hogy a Visual Studióval helyi C#-függvényprojekteket hozzon létre, majd egyszerűen közzétegye a projektet, hogy skálázható kiszolgáló nélküli környezetben fusson az Azure-ban. Ha a C#-alkalmazásokat helyileg szeretné fejleszteni a Visual Studio Code használatával, akkor inkább a jelen cikk Visual Studio Code-alapú verzióját érdemes figyelembe vennie.

Ez a cikk alapértelmezés szerint bemutatja, hogyan hozhat létre olyan C#-függvényeket, amelyek a .NET 6-on futnak ugyanabban a folyamatban, mint a Functions-gazdagép. Ezek a folyamaton belüli C# függvények csak a hosszú távú támogatás (LTS) .NET-verzióiban támogatottak, például a .NET 6-ban. A projekt létrehozásakor dönthet úgy, hogy egy .NET 6-on futó függvényt hoz létre egy elkülönített feldolgozófolyamatban. Az elkülönített munkavégző folyamat támogatja a .NET LTS- és standard kifejezéstámogatási (STS) verzióit is. További információ: A .NET Functions izolált feldolgozófolyamat-útmutatójának támogatott verziói .

Ebben a cikkben az alábbiakkal ismerkedhet meg:

  • C#-osztálytárprojekt létrehozása a Visual Studióval.
  • Hozzon létre egy függvényt, amely válaszol a HTTP-kérésekre.
  • Futtassa a kódot helyileg a függvény működésének ellenőrzéséhez.
  • Telepítse a kódprojektet a Azure Functions.

Ennek a rövid útmutatónak a végrehajtása néhány DOLLÁRcent vagy annál kisebb költséggel jár az Azure-fiókjában.

Előfeltételek

Függvényalkalmazás-projekt létrehozása

A Visual Studio Azure Functions projektsablonja létrehoz egy C#-osztálytárprojektet, amelyet közzétehet egy függvényalkalmazásban az Azure-ban. 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, skálázása és megosztása érdekében.

  1. A Visual Studio menüjében válassza azÚj>projekt fájlja> lehetőséget.

  2. Az Új projekt létrehozása területen írja be a függvényeket a keresőmezőbe, válassza ki a Azure Functions sablont, majd válassza a Tovább gombot.

  3. Az Új projekt konfigurálása területen adja meg a projekt projektnevét , majd válassza a Tovább gombot. 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.

  4. A További információk területen válasszon a Functions-feldolgozó alábbi lehetőségei közül:

    .NET-futtatókörnyezet Feldolgozási modell Description
    .NET 6.0 (hosszú távú támogatás) Folyamatban Folyamatban A C#-függvények csak a hosszú távú támogatás (LTS) .NET-verzióiban támogatottak. A függvénykód ugyanabban a folyamatban fut, mint a Functions-gazdagép.
    .NET 6.0 izolált (hosszú távú támogatás) Izolált feldolgozói folyamat A függvények a .NET 6-on futnak, de a Függvények gazdagéptől eltérő folyamatban.
    .NET 7.0 Izolált Izolált feldolgozói folyamat Mivel a .NET 7 nem a .NET LTS-verziója, a függvényeknek egy elkülönített folyamat során kell futniuk a .NET 7-en.
    .NET-keretrendszer Izolált v4 Izolált feldolgozói folyamat Akkor válassza ezt a lehetőséget, ha a függvényeknek csak a .NET-keretrendszer támogatott kódtárakat kell használniuk.
    .NET Core 3.1 (hosszú távú támogatás) Folyamatban A .NET Core 3.1 már nem a .NET támogatott verziója, és a Functions 4.x verziója nem támogatja. Használja helyette a .NET 6.0-t.
    .NET-keretrendszer v1 Folyamatban Akkor válassza ezt a lehetőséget, ha a függvényeknek csak a .NET-keretrendszer régebbi verzióiban támogatott kódtárakat kell használniuk. A Functions-futtatókörnyezet 1.x-es verziójára van szükség.

    A két folyamatmodell különböző API-kat használ, és mindegyik folyamatmodell egy másik sablont használ a függvény projektkódjának létrehozásakor. Ha nem látja a .NET 6.0-s és újabb .NET-futtatókörnyezeti verzióinak beállításait, előfordulhat, hogy frissítenie kell a Azure Functions eszközök telepítését.

  5. A további további információbeállításokhoz használja az alábbi táblázatban található értékeket:

    Beállítás Érték Leírás
    Függvény HTTP-eseményindító Ez az érték létrehoz egy HTTP-kérés által aktivált függvényt.
    Az Azurite használata futtatókörnyezeti tárfiókhoz (AzureWebJobsStorage) Engedélyezés Mivel az Azure-ban egy függvényalkalmazáshoz tárfiók szükséges, a rendszer hozzárendel vagy létrehoz egyet, amikor közzéteszi a projektet az Azure-ban. A HTTP-eseményindítók nem használnak Azure Storage-fiókot kapcsolati sztring; minden más eseményindító-típushoz érvényes Azure Storage-fiók kapcsolati sztring szükséges. Ha ezt a lehetőséget választja, a rendszer az Azurite emulátort használja.
    Engedélyszint Névtelen A létrehozott függvényt bármely ügyfél elindíthatja, kulcs megadása nélkül. Ez az engedélyezési beállítás megkönnyíti az új függvény tesztelését. További információ a kulcsokról és az engedélyezésről: Engedélyezési kulcsok , HTTP- és webhookkötések.

    Képernyőkép Azure Functions projektbeállításokról.

    Győződjön meg arról, hogy az Engedélyezési szintetNévtelen értékre állítja. Ha a függvény alapértelmezett szintjét választja, a függvénykulcsot be kell mutatnia az Azure-beli függvényvégpont eléréséhez szükséges kérésekben.

  6. Válassza a Létrehozás lehetőséget a függvényprojekt és a HTTP-eseményindító függvény létrehozásához.

A Visual Studio létrehoz egy projektet és osztályt, amely sablonkódot tartalmaz a HTTP-eseményindító függvény típusához. A sablonkód elküld egy HTTP-választ, amely tartalmaz egy értéket a kérelem szövegtörzséből vagy a lekérdezési sztringből. Az HttpTrigger attribútum azt határozza meg, hogy a függvényt EGY HTTP-kérés aktiválja.

A függvény átnevezése

A FunctionName metódusattribútum a függvény nevét állítja be, amely alapértelmezés szerint a következőként Function1jön létre: . Mivel az eszközhasználat nem teszi lehetővé, hogy felülbírálja az alapértelmezett függvénynevet a projekt létrehozásakor, egy perc alatt jobb nevet hozhat létre a függvényosztálynak, fájlnak és metaadatoknak.

  1. A Fájlkezelő kattintson a jobb gombbal a Function1.cs fájlra, és nevezze át a fájlnakHttpExample.cs.

  2. A kódban nevezze át a Function1 osztályt a következőre: HttpExample.

  3. A nevű Runmetódusban HttpTrigger nevezze át a metódusattribútumot a FunctionName következőre: HttpExample.

A függvénydefiníciónak a következő kódhoz hasonlóan kell kinéznie:

[FunctionName("HttpExample")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
    ILogger log)

Most, hogy átnevezte a függvényt, tesztelheti a helyi számítógépen.

A függvény helyi futtatása

A Visual Studio integrálható a Azure Functions Core Tools szolgáltatással, így a függvényeket helyileg tesztelheti a teljes Azure Functions futtatókörnyezet használatával.

  1. A függvény futtatásához nyomja le az F5 billentyűt a Visual Studióban. Előfordulhat, hogy engedélyeznie kell egy tűzfalkivételt, hogy az eszközök kezelni tudják a HTTP-kéréseket. Az engedélyezési szinteket a rendszer soha nem kényszeríti ki, ha helyileg futtat egy függvényt.

  2. Másolja a függvény URL-címét az Azure-függvény futtatókörnyezetéből.

    Az Azure helyi futtatókörnyezete

  3. Illessze be a HTTP-kérelem URL-címét a böngésző címsorába. Fűzze hozzá a lekérdezési sztringet ?name=<YOUR_NAME> ehhez az URL-címhez, és futtassa a kérést. Az alábbi képen a böngészőben a függvény által visszaadott helyi GET-kérésre adott válasz látható:

    A függvény által visszaadott localhost válasz a böngészőben

  4. A hibakeresés leállításához nyomja le a Shift+F5 billentyűkombinációt a Visual Studióban.

Miután ellenőrizte, hogy a függvény megfelelően fut a helyi számítógépen, tegye közzé a projektet az Azure-ban.

A projekt közzététele az Azure-ban

A Visual Studio közzéteheti a helyi projektet az Azure-ban. A projekt közzététele előtt rendelkeznie kell egy függvényalkalmazással az Azure-előfizetésében. Ha még nem rendelkezik függvényalkalmazással az Azure-ban, a Visual Studio közzétételi szolgáltatása létrehoz egyet a projekt első közzétételekor. Ebben a cikkben egy függvényalkalmazást és a kapcsolódó Azure-erőforrásokat fog létrehozni.

  1. A Megoldáskezelőben kattintson a jobb gombbal a projektre, és válassza a Publish (Közzététel) lehetőséget. A Cél területen válassza az Azure , majd a Tovább lehetőséget.

    Képernyőkép a közzétételi ablakról.

  2. Válassza az Azure-függvényalkalmazás (Windows) lehetőséget az Adott célhoz, amely létrehoz egy Windowson futó függvényalkalmazást, majd válassza a Tovább gombot.

    Képernyőkép a közzétételi ablakról adott céllal.

  3. A függvénypéldányban válassza az Új Azure-függvény létrehozása... lehetőséget.

    Képernyőkép egy új függvényalkalmazás-példány létrehozásáról.

  4. Hozzon létre egy új példányt a következő táblázatban megadott értékekkel:

    Beállítás Érték Leírás
    Név Globálisan egyedi név Az új függvényalkalmazást azonosító egyedi név. Fogadja el ezt a nevet, vagy írjon be egy új nevet. Az érvényes karakterek a következők: a-z, 0-9és -.
    Előfizetés Az Ön előfizetése A használandó előfizetés. Fogadja el ezt az előfizetést, vagy válasszon egy újat a legördülő listából.
    Erőforráscsoport Az erőforráscsoport neve Az erőforráscsoport, amelyben létre szeretné hozni a függvényalkalmazást. Válasszon ki egy meglévő erőforráscsoportot a legördülő listából, vagy válassza az Új lehetőséget egy új erőforráscsoport létrehozásához.
    Csomag típusa Használat Amikor egy használatalapú csomagban futó függvényalkalmazásban teszi közzé a projektet, csak a függvényalkalmazás végrehajtásáért kell fizetnie. Más üzemeltetési csomagok magasabb költségekkel járnak.
    Hely Az App Service helye Válasszon egy Helyet egy Önhöz közeli régióban vagy a függvények által elért egyéb szolgáltatások közül.
    Azure Storage Általános célú tárfiók A Functions futtatókörnyezetének szüksége van egy Azure Storage-fiókra. Általános célú tárfiók konfigurálásához válassza az Új lehetőséget. Választhat olyan meglévő fiókot is, amely megfelel a tárfiók követelményeinek.

    Képernyőkép a App Service létrehozása párbeszédpanelről.

  5. A Létrehozás lehetőséget választva hozzon létre egy függvényalkalmazást és annak kapcsolódó erőforrásait az Azure-ban. Az erőforrás-létrehozás állapota az ablak bal alsó sarkában látható.

  6. A Functions-példányban ellenőrizze, hogy a Futtatás csomagfájlból jelölőnégyzet be van-e jelölve. A függvényalkalmazás a Zip Deploy használatával van üzembe helyezve, és engedélyezve van a Csomagból futtatás mód. A Zip Deploy az ajánlott üzembe helyezési módszer a függvényprojekthez, amely jobb teljesítményt eredményez.

    Képernyőkép a profil létrehozásának befejezéséről.

  7. Válassza a Befejezés lehetőséget, majd a Közzététel lapon válassza a Közzététel lehetőséget a projektfájlokat tartalmazó csomag üzembe helyezéséhez az Új függvényalkalmazásban az Azure-ban.

    Az üzembe helyezés befejezése után az Azure-beli függvényalkalmazás gyökér URL-címe megjelenik a Közzététel lapon.

  8. A Közzététel lap Üzemeltetés szakaszában válassza a Megnyitás Azure Portal lehetőséget. Ezzel megnyitja az új függvényalkalmazás Azure-erőforrását a Azure Portal.

    Képernyőkép a Sikeres közzététel üzenetről.

A függvény ellenőrzése az Azure-ban

  1. A Cloud Explorerben ki kell választania az új függvényalkalmazást. Ha nem, bontsa ki az előfizetése >App Services elemét, és válassza ki az új függvényalkalmazást.

  2. Kattintson a jobb gombbal a függvényalkalmazásra, és válassza a Megnyitás böngészőben parancsot. Ez megnyitja a függvényalkalmazás gyökerét az alapértelmezett webböngészőben, és megjeleníti azt a lapot, amely jelzi, hogy a függvényalkalmazás fut.

    Függvényalkalmazás fut

  3. A böngésző címsorában fűzze hozzá a sztringet /api/HttpExample?name=Functions az alap URL-címhez, és futtassa a kérést.

    A HTTP-eseményindító függvényt meghívó URL-cím formátuma a következő:

    http://<APP_NAME>.azurewebsites.net/api/HttpExample?name=Functions

  4. Nyissa meg ezt az URL-címet, és megjelenik egy válasz a böngészőben a függvény által visszaadott távoli GET kérésre, amely az alábbi példához hasonlóan néz ki:

    A függvény által visszaadott válasz a böngészőben

Az erőforrások eltávolítása

Az erőforrások kifejezés az Azure-ban például függvényalkalmazásokra, függvényekre vagy tárfiókokra utal. Ezek erőforráscsoportokba vannak csoportosítva, és a csoport törlésével törölheti a csoport összes elemét.

Ehhez a rövid útmutatóhoz Azure-erőforrásokat hozott létre. Fiókjának állapotától és a szolgáltatási díjszabástól függően lehetséges, hogy az erőforrások használata díjköteles. Az ebben a gyűjteményben lévő többi rövid útmutató erre a rövid útmutatóra épül. Ha további rövid útmutatókkal, oktatóanyagokkal vagy az ebben a rövid útmutatóban létrehozott szolgáltatásokkal szeretne dolgozni, ne törölje az erőforrásokat.

Az alábbi lépésekkel törölheti a függvényalkalmazást és annak kapcsolódó erőforrásait, hogy elkerülje a további költségek felmerülését.

  1. A Visual Studio Közzététel párbeszédpanel Üzemeltetés szakaszában válassza a Megnyitás Azure Portal lehetőséget.

  2. A függvényalkalmazás oldalán válassza az Áttekintés lapot, majd válassza az Erőforráscsoport alatti hivatkozást.

    Válassza ki a törölni kívánt erőforráscsoportot a függvényalkalmazás oldaláról

  3. Az Erőforráscsoport lapon tekintse át a belefoglalt erőforrások listáját, és ellenőrizze, hogy ezeket szeretné-e törölni.

  4. Válassza az Erőforráscsoport törlése elemet, majd kövesse az utasításokat.

    A törlés eltarthat néhány percig. Amint a művelet befejeződött, néhány másodpercre egy értesítés jelenik meg. Az értesítést úgy is megtekintheti, ha kiválasztja a harang ikont az oldal tetején.

Következő lépések

Ebben a rövid útmutatóban a Visual Studióval létrehozott és közzétett egy C#-függvényalkalmazást az Azure-ban egy egyszerű HTTP-eseményindító függvénnyel.

A következő cikk a választott folyamatmodelltől függ.

Ha többet szeretne megtudni a Functions-gazdagépen folyamatban futó C#-függvényekkel való munkáról, olvassa el a C#-osztálytárfüggvények fejlesztése Azure Functions használatával című témakört.

Folytassa a következő cikkel, amelyből megtudhatja, hogyan adhat hozzá Azure Storage-üzenetsor-kötést a függvényhez: