Megosztás a következőn keresztül:


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 Visual Studio Code-ban nyomja le az F1 billentyűt a parancskatalógus megnyitásához, majd a parancs kereséséhez és futtatásához Azure Functions: Create New Project.... 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.

    A parancs futtatásával Azure Functions: Create New Containerized Project... lekérheti a projekthez létrehozott Docker-fájlt is.

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

  3. 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 .

    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.

  4. 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.

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

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

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.

  • Dockerfile (nem kötelező): Lehetővé teszi egy tárolóalapú függvényalkalmazás létrehozását a projekthez jóváhagyott alaprendszerkép használatával. Ezt a fájlt csak a parancs Azure Functions: Create New Containerized Project...futtatásakor kapja meg. A Core Tools parancsával func init --docker-only dockerfile-t adhat hozzá egy meglévő projekthez.

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 storageQueue output 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:

Felszólítá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 HttpRequest HttpRequestData 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 nem jelentkezett be, a Tevékenységsávon válassza az Azure ikont. 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 Visual Studio 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 kivá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ényalkalmazást, amely az alapértelmezett beállításokkal hozza létre az elérési utat, vagy egy olyan elérési utat, amely speciális lehetőségeket biztosít, például meglévő Azure-erőforrásokat. Így jobban szabályozhatja a távoli erőforrások létrehozását.

Ebben a szakaszban egy függvényalkalmazást és kapcsolódó erőforrásokat hoz létre az Azure-előfizetésében. Számos erőforrás-létrehozási döntés az alapértelmezett viselkedés alapján történik. A létrehozott erőforrások további szabályozásához ehelyett speciális beállításokkal kell létrehoznia a függvényalkalmazást.

  1. A Visual Studio Code-ban válassza az F1 lehetőséget a parancskatalógus megnyitásához. A parancssorban (>) adja meg, majd válassza az Azure Functions: Függvényalkalmazás létrehozása az Azure-ban lehetőséget.

  2. A parancssorban adja meg a következő információkat:

    Felszólítás Művelet
    Előfizetés kiválasztása Válassza ki a használni kívánt Azure-előfizetést. A parancssor 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 Adjon meg egy URL-elérési úton érvényes nevet. A megadott név érvényesítve van, hogy biztosan egyedi legyen az Azure Functionsben.
    Futtatókörnyezeti verem kiválasztása Válassza ki a helyileg futtatott nyelvi verziót.
    Új erőforrások helyének kiválasztása Válassza ki a kívánt Azure-régiót. A jobb teljesítmény érdekében válasszon ki egy Önhöz közeli régiót.

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

    Az Azure-erőforrások létrehozásának naplóját bemutató képernyőkép.

  3. A függvényalkalmazás létrehozásakor a következő kapcsolódó erőforrások jönnek létre az Azure-előfizetésben. Az erőforrások neve a függvényalkalmazáshoz megadott név alapján lesz 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.
    • Egy Azure-alkalmazás szolgáltatáscsomag, amely meghatározza a függvényalkalmazás mögöttes gazdagépét.
    • A függvényalkalmazáshoz csatlakoztatott Application Insights-példány, 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 függvényalkalmazáshoz megadott név alapján jönnek létre. Alapértelmezés szerint az erőforrások ugyanabban az új erőforráscsoportban vannak létrehozva a függvényalkalmazással. Ha testre szeretné szabni a társított erőforrások nevét, vagy újra szeretné használni a meglévő erőforrásokat, tegye közzé a projektet speciális létrehozási lehetőségekkel.

Azure Container Apps-üzembe helyezés létrehozása

A Visual Studio Code használatával azure-erőforrásokat hozhat létre egy tárolóalapú kódprojekthez. Amikor a bővítmény észleli egy Docker-fájl jelenlétét az erőforrás létrehozása során, megkérdezi, hogy a kód helyett a tárolórendszerképet szeretné-e üzembe helyezni. A Visual Studio Code létrehoz egy Azure Container Apps-környezetet az Azure Functionsbe integrált tárolóalapú kódprojekthez. További információ: Azure Functionst üzemeltető Azure Container Apps.

Feljegyzés

A tároló üzembe helyezéséhez a Visual Studio Code Azure Container Apps-bővítménye szükséges. Ez a bővítmény jelenleg előzetes verzióban érhető el.

A létrehozási folyamat attól függ, hogy gyors létrehozást választ, vagy speciális beállításokat kell használnia:

  1. A Visual Studio Code-ban nyomja le az F1 billentyűt a parancskatalógus megnyitásához, majd a parancs kereséséhez és futtatásához Azure Functions: Create Function App in Azure....

  2. Amikor a rendszer kéri, válassza a Tárolórendszerkép lehetőséget.

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

    Felszólítá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.
    Ú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.

A tárolóalapú függvények Container Appsben való futtatásához szükséges erőforrásokról további információt a Kötelező erőforrások című témakörben talál.

Feljegyzés

Jelenleg nem használhatja a Visual Studio Code-ot tárolóalapú függvényalkalmazás üzembe helyezésére egy Azure Functions-integrált Container Apps-környezetben. Ehelyett közzé kell tennie a tárolórendszerképet egy tárolóregisztrációs adatbázisban, majd be kell állítania a tárolóregisztrációs rendszerképet üzembehelyezési forrásként a Container Apps által üzemeltetett függvényalkalmazáshoz. További információ: Függvényalkalmazás létrehozása tárolóban , rendszerkép frissítése a beállításjegyzékben.

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. A parancskatalógusban adja meg, majd válassza az Azure Functions: Üzembe helyezés függvényalkalmazásban lehetőséget.

  2. Válassza ki az imént létrehozott függvényalkalmazást. 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ésekor 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.

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.

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 ki az elsődleges kapcsolati 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 ConnectionStrings é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ásbeállítások 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, letöltheti őket a local.settings.json fájlba az Azure Functions: Távoli beállítások letöltése paranccsal.

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.

Tipp.

A C# Dev Kit NuGet-parancsaival is telepíthet kötésbővítmény-csomagokat.

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 Application Insightst, hogy jobban megértse, hogyan működik a függvényalkalmazás.

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ényalkalmazás és az Application Insights integrálásával figyelnie kell a függvények végrehajtását. 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 Application Insightst. További információ: Application Insights-integráció engedélyezése.

Az Application Insights 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>>beállításai lehetőséget.

  2. Nyissa meg az Azure Functions felhasználói beállítások>bővítményeit>.

  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 beállítások 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 Az Azure-beli függvényalkalmazást egy helyi Git-adattárhoz csatlakoztatja. További információ: Folyamatos üzembe helyezés az Azure Functionsben.
Csatlakozás a GitHub-adattárhoz A függvényalkalmazást egy GitHub-adattárhoz csatlakoztatja.
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.
Visszafejtési beállítások Visszafejti az Azure Functions által titkosított helyi beállításokat: A beállítások titkosítása.
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 beállítások 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.
Beállítások átnevezése 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.
Újraindítás Ú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 beállítások 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.