Oktatóanyag: Az Azure WebJobs SDK használatának első lépései eseményvezérelt háttérfeldolgozáshoz

Első lépések a Azure App Service-hez készült Azure WebJobs SDK-val, amellyel a webalkalmazások háttérfeladatokat, ütemezett feladatokat futtathatnak, és reagálhatnak az eseményekre.

A Visual Studio 2022 használatával hozzon létre egy .NET Core-konzolalkalmazást, amely a WebJobs SDK használatával válaszol az Azure Storage Queue üzeneteire, helyileg futtatja a projektet, és végül üzembe helyezi az Azure-ban.

Az oktatóanyag során a következőket fogja elsajátítani:

  • Konzolalkalmazás létrehozása
  • Adjon hozzá egy függvényt
  • Helyi tesztelés
  • Üzembe helyezés az Azure-ban
  • Application Insights-naplózás engedélyezése
  • Bemeneti/kimeneti kötések hozzáadása

Előfeltételek

Konzolalkalmazás létrehozása

Ebben a szakaszban egy projektet fog létrehozni a Visual Studio 2022-ben. Ezután eszközöket fog hozzáadni az Azure-fejlesztéshez, a kód közzétételéhez és az eseményindítókat és hívási függvényeket figyelő függvényekhez. Végül beállítja a konzolnaplózást, amely letiltja az örökölt monitorozási eszközt, és engedélyezi az alapértelmezett szűréssel rendelkező konzolszolgáltatót.

Megjegyzés

A cikkben szereplő eljárások ellenőrzik a .NET 6.0-n futó .NET Core-konzolalkalmazások létrehozását.

Projekt létrehozása

  1. A Visual Studióban válassza azÚj>projektfájlja> lehetőséget.

  2. Az Új projekt létrehozása területen válassza a Konzolalkalmazás (C#) elemet, majd a Tovább gombot.

  3. Az Új projekt konfigurálása területen adja a projektnek a WebJobsSDKSample nevet, majd válassza a Tovább lehetőséget.

  4. Válassza ki a Cél keretrendszert , és válassza a Létrehozás lehetőséget. Ezt az oktatóanyagot a .NET 6.0-val ellenőrizték.

WebJobs NuGet-csomagok telepítése

Telepítse a legújabb WebJobs NuGet-csomagot. Ez a csomag tartalmazza a Microsoft.Azure.WebJobs (WebJobs SDK) szolgáltatást, amellyel közzéteheti a függvénykódot a WebJobsban Azure App Service.

  1. Szerezze be a Microsoft.Azure.WebJobs.Extensions NuGet-csomag legújabb stabil 4.x verzióját.

  2. A Visual Studióban lépjen az Eszközök>NuGet-csomagkezelő területre.

  3. Válassza a Csomagkezelő konzol lehetőséget. Megjelenik a NuGet-parancsmagok listája, a dokumentációra mutató hivatkozás és egy PM> belépési pont.

  4. A következő parancsban cserélje le a elemet <4_X_VERSION> az 1. lépésben talált aktuális verziószámra.

    Install-Package Microsoft.Azure.WebJobs.Extensions -version <4_X_VERSION>
    
  5. A Csomagkezelő konzolon hajtsa végre a parancsot. Megjelenik a bővítménylista, és automatikusan telepítheti.

A gazdagép létrehozása

A gazdagép a függvények futtatókörnyezeti tárolója, amely figyeli az eseményindítókat és meghívja a függvényeket. Az alábbi lépések létrehoznak egy gazdagépet, amely implementálja IHosta -t, amely a ASP.NET Core általános gazdagépe.

  1. Válassza a Program.cs lapot, távolítsa el a meglévő tartalmat, és adja hozzá az alábbi using utasításokat:

    using System.Threading.Tasks;
    using Microsoft.Extensions.Hosting;
    
  2. A Program.cs fájlban adja hozzá a következő kódot:

    namespace WebJobsSDKSample
    {
        class Program
        {
            static async Task Main()
            {
                var builder = new HostBuilder();
                builder.ConfigureWebJobs(b =>
                {
                    b.AddAzureStorageCoreServices();
                });
                var host = builder.Build();
                using (host)
                {
                    await host.RunAsync();
                }
            }
        }
    }
    

A ASP.NET Core a gazdagép konfigurációit a HostBuilder példány metódusainak meghívásával állítja be. További információ: .NET Generic Host. A ConfigureWebJobs bővítménymetódus inicializálja a WebJobs-gazdagépet. A fájlban ConfigureWebJobsinicializáljon bizonyos kötésbővítményeket, például a Storage kötésbővítményt, és állítsa be ezeknek a bővítményeknek a tulajdonságait.

Konzolnaplózás engedélyezése

Állítsa be a ASP.NET Core naplózási keretrendszert használó konzolnaplózást. Ez a Microsoft.Extensions.Logging keretrendszer tartalmaz egy API-t, amely számos beépített és külső naplózási szolgáltatóval működik.

  1. Szerezze Microsoft.Extensions.Logging.Console be a NuGet-csomag legújabb stabil verzióját, amely tartalmazza a következőt: Microsoft.Extensions.Logging.

  2. A következő parancsban cserélje le a elemet <6_X_VERSION> az 1. lépésben talált aktuális verziószámra. A NuGet-csomag minden típusa egyedi verziószámmal rendelkezik.

    Install-Package Microsoft.Extensions.Logging.Console -version <6_X_VERSION>
    
  3. A Csomagkezelő konzolon adja meg az aktuális verziószámot, és hajtsa végre a parancsot. Megjelenik a bővítménylista, és automatikusan telepítheti.

  4. A Program.cs lapon adja hozzá a következő utasítást using :

    using Microsoft.Extensions.Logging;
    
  5. A Program.cs területen folytatva adja hozzá a metódust a ConfigureLogging metódushoz HostBuildera Build parancs előtt. A AddConsole metódus hozzáadja a konzolnaplózást a konfigurációhoz.

    builder.ConfigureLogging((context, b) =>
    {
        b.AddConsole();
    });
    

    A Main metódus így néz ki:

    static async Task Main()
    {
        var builder = new HostBuilder();
        builder.ConfigureWebJobs(b =>
                {
                    b.AddAzureStorageCoreServices();
                });
        builder.ConfigureLogging((context, b) =>
                {
                    b.AddConsole();
                });
        var host = builder.Build();
        using (host)
        {
            await host.RunAsync();
        }
    }
    

    Ez a kiegészítés a következő módosításokat hajtja végre:

    • Letiltja az irányítópult-naplózást. Az irányítópult egy örökölt monitorozási eszköz, és az irányítópult naplózása nem ajánlott nagy átviteli sebességű éles forgatókönyvekhez.
    • Hozzáadja a konzolszolgáltatót az alapértelmezett szűréssel.

Most hozzáadhat egy függvényt, amelyet az Azure Storage-üzenetsorba érkező üzenetek aktiválnak.

Adjon hozzá egy függvényt

A függvények olyan kódegységek, amelyek ütemezés szerint futnak, események alapján aktiválódnak, vagy igény szerint futnak. Az eseményindítók egy szolgáltatáseseményt figyelnek. A WebJobs SDK környezetében az aktivált nem az üzembe helyezési módra hivatkozik. Az SDK-val létrehozott eseményvezérelt vagy ütemezett WebJobs-feladatokat mindig folyamatos WebJobs-feladatként kell üzembe helyezni, ha az "Always on" engedélyezve van.

Ebben a szakaszban egy Azure Storage-üzenetsor üzenetei által aktivált függvényt hoz létre. Először hozzá kell adnia egy kötési bővítményt az Azure Storage-hoz való csatlakozáshoz.

A Storage-kötésbővítmény telepítése

A WebJobs SDK 3. verziójától kezdve az Azure Storage-szolgáltatásokhoz való csatlakozáshoz külön Storage-kötési bővítménycsomagot kell telepítenie.

Megjegyzés

Az 5.x-től kezdődően a Microsoft.Azure.WebJobs.Extensions.Storage fel lett osztva a tárolási szolgáltatás szerint , és a AddAzureStorage() bővítménymetódust szolgáltatástípus szerint migrálta.

  1. Szerezze be a Microsoft.Azure.WebJobs.Extensions.Storage NuGet-csomag legújabb, 5.x-es verzióját.

  2. A következő parancsban cserélje le a elemet <5_X_VERSION> az 1. lépésben talált aktuális verziószámra. A NuGet-csomag minden típusa egyedi verziószámmal rendelkezik.

    Install-Package Microsoft.Azure.WebJobs.Extensions.Storage -Version <5_X_VERSION>
    
  3. A Csomagkezelő konzolon hajtsa végre a parancsot az aktuális verziószámmal a PM> belépési ponton.

  4. A Program.cs fájlban a ConfigureWebJobs bővítménymetódusban adja hozzá a AddAzureStorageQueues metódust a HostBuilder példányhoz (a Build parancs előtt) a Storage-bővítmény inicializálásához. Ekkor a metódus a ConfigureWebJobs következőképpen néz ki:

    builder.ConfigureWebJobs(b =>
    {
        b.AddAzureStorageCoreServices();
        b.AddAzureStorageQueues();
    });
    
  5. Adja hozzá a következő kódot a Main metódushoz a builder példányosítás után:

    builder.UseEnvironment(EnvironmentName.Development);
    

    A fejlesztési módban való futtatás csökkenti az üzenetsorok exponenciális visszalépését, amely jelentősen késleltetheti az üzenet megkereséséhez és a függvény meghívásához szükséges időt. Ha végzett a fejlesztéssel és a teszteléssel, távolítsa el ezt a kódsort, vagy váltson át Production erre.

    A Main metódusnak most az alábbi példához hasonlóan kell kinéznie:

    static async Task Main()
    {
        var builder = new HostBuilder();
        builder.UseEnvironment(EnvironmentName.Development);
        builder.ConfigureLogging((context, b) =>
        {
            b.AddConsole();
        });
        builder.ConfigureWebJobs(b =>
        {
            b.AddAzureStorageCoreServices();
            b.AddAzureStorageQueues();
        });
        var host = builder.Build();
        using (host)
        {
            await host.RunAsync();
        }
    }
    

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

Az QueueTrigger attribútum arra utasítja a futtatókörnyezetet, hogy hívja meg ezt a függvényt, amikor új üzenetet ír egy nevű Azure Storage-üzenetsorba queue. Az üzenetsor üzenetének tartalmát a paraméter metóduskódja message adja meg. A metódus törzse az eseményindító adatainak feldolgozása. Ebben a példában a kód csak naplózza az üzenetet.

  1. A Megoldáskezelő kattintson a jobb gombbal a projektre, válassza azÚj elemhozzáadása>, majd az Osztály lehetőséget.

  2. Nevezze el az új C#- osztályfájlt Functions.cs néven, és válassza a Hozzáadás lehetőséget.

  3. A Functions.cs fájlban cserélje le a létrehozott sablont a következő kódra:

    using Microsoft.Azure.WebJobs;
    using Microsoft.Extensions.Logging;
    
    namespace WebJobsSDKSample
    {
        public class Functions
        {
            public static void ProcessQueueMessage([QueueTrigger("queue")] string message, ILogger logger)
            {
                logger.LogInformation(message);
            }
        }
    }
    

    A Functions osztályt úgy kell megjelölnie, hogy public static a futtatókörnyezet hozzáférhessen a metódushoz, és végrehajthassa azt. A fenti kódmintában, amikor egy üzenetet ad hozzá egy nevű queueüzenetsorhoz, a függvény végrehajtja a függvényt, és a message sztringet a naplókba írja. A monitorozott üzenetsor az alapértelmezett Azure Storage-fiókban található, amelyet a következő lépésben hoz létre.

A message paraméternek nem kell sztringnek lennie. JSON-objektumhoz, bájttömbhöz vagy CloudQueueMessage objektumhoz is köthet. Lásd: Üzenetsor-eseményindító használata. Minden kötéstípushoz (például üzenetsorokhoz, blobokhoz vagy táblákhoz) más paramétertípusokat lehet kötni.

Azure-tárfiók létrehozása

A helyileg futó Azure Storage Emulator nem rendelkezik a WebJobs SDK által igényelt összes funkcióval. Létrehoz egy tárfiókot az Azure-ban, és konfigurálja a projektet a használatára.

Az általános célú v2-tárfiókok létrehozásáról az Azure Storage-fiók létrehozása című témakörben olvashat.

Keresse meg és másolja ki a kapcsolati sztring

A tárolás konfigurálásához kapcsolati sztring szükséges. A következő lépésekhez tartsa meg ezt a kapcsolati sztring.

  1. A Azure Portal keresse meg a tárfiókot, és válassza a Beállítások lehetőséget.

  2. A Beállítások területen válassza a Hozzáférési kulcsok lehetőséget.

  3. Az 1. kulcs alatti Kapcsolati sztringnél válassza a Másolás a vágólapra ikont.

    Kulcs

Tároló konfigurálása helyi futtatásra

A WebJobs SDK megkeresi a tárolási kapcsolati sztring az Azure-beli alkalmazásbeállításokban. Helyi futtatáskor ezt az értéket keresi a helyi konfigurációs fájlban vagy környezeti változókban.

  1. Kattintson a jobb gombbal a projektre, válassza azÚj elemhozzáadása>, majd a JavaScript JSON-konfigurációs fájl lehetőséget, nevezze el az új fájlt appsettings.json fájlnak, majd válassza a Hozzáadás lehetőséget.

  2. Az új fájlban adjon hozzá egy AzureWebJobsStorage mezőt az alábbi példához hasonlóan:

    {
        "AzureWebJobsStorage": "{storage connection string}"
    }
    
  3. Cserélje le a {storage kapcsolati sztring} elemet a korábban másolt kapcsolati sztring.

  4. Válassza ki az appsettings.json fájlt Megoldáskezelő, majd a Tulajdonságok ablakban állítsa a Másolás kimeneti könyvtárba műveletet Másolás, ha újabb értékre.

Mivel ez a fájl kapcsolati sztring titkos kódot tartalmaz, nem szabad a fájlt távoli kódtárban tárolni. Miután közzétette a projektet az Azure-ban, hozzáadhatja ugyanazt a kapcsolati sztring alkalmazásbeállítást az alkalmazáshoz a Azure App Service.

Helyi tesztelés

Hozza létre és futtassa a projektet helyileg, és hozzon létre egy üzenetsort a függvény aktiválásához.

  1. A Azure Portal keresse meg a tárfiókot, és válassza az Üzenetsorok lapot (1). Válassza a + Üzenetsor (2) lehetőséget, és adja meg az üzenetsor nevét az üzenetsor neveként (3). Ezután válassza az OK (4) lehetőséget.

    Ez a kép bemutatja, hogyan hozhat létre új Azure Storage-üzenetsort.

  2. Kattintson az új üzenetsorra, és válassza az Üzenet hozzáadása lehetőséget.

  3. Az Üzenet hozzáadása párbeszédpanelen írja be a "Helló világ!" alkalmazás!szöveget az Üzenet szövegébe, majd kattintson az OK gombra. Ekkor megjelenik egy üzenet az üzenetsorban.

    Üzenetsor létrehozása

  4. A projekt futtatásához nyomja le a Ctrl+F5 billentyűkombinációt.

    A konzolon látható, hogy a futtatókörnyezet megtalálta a függvényt. Mivel a függvényben használta az QueueTriggerProcessQueueMessage attribútumot, a WebJobs-futtatókörnyezet figyeli a nevű queueüzenetsor üzeneteit. Amikor új üzenetet talál ebben az üzenetsorban, a futtatókörnyezet meghívja a függvényt, és átadja az üzenet sztringértékét.

  5. Vissza az Üzenetsor ablakba, és frissítse azt. Az üzenet eltűnt, mivel a helyileg futó függvény feldolgozta.

  6. Zárja be a konzolablakot.

Itt az ideje, hogy közzétegye a WebJobs SDK-projektet az Azure-ban.

Üzembe helyezés az Azure-ban

Az üzembe helyezés során létre fog hozni egy App Service-példányt, ahol futtatni fogja a függvényeket. Amikor közzétesz egy .NET-konzolalkalmazást App Service az Azure-ban, az automatikusan WebJob-feladatként fut. További információ a közzétételről: WebJobs fejlesztése és üzembe helyezése a Visual Studióval.

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

  1. A Megoldáskezelőben kattintson a jobb gombbal a projektre, és válassza a Publish (Közzététel) lehetőséget.

  2. A Közzététel párbeszédpanelen válassza az Azurelehetőséget célként, majd válassza a Tovább lehetőséget.

  3. Válassza az Azure WebJobslehetőséget az Adott cél területen, majd válassza a Tovább lehetőséget.

  4. A fenti App Service példányok közül válassza a plusz (+) gombot az új Azure WebJobs-feladat létrehozásához.

  5. A App Service (Windows) párbeszédpanelen használja az alábbi táblázatban található üzemeltetési beállításokat.

    Beállítás Ajánlott érték Leírás
    Név Globálisan egyedi név Az új függvényalkalmazást azonosító egyedi név.
    Előfizetés Válassza ki az előfizetését A használandó előfizetés.
    Erőforráscsoport myResourceGroup Az erőforráscsoport neve, amelyben létrehozza a függvényalkalmazást. Válassza az Új elemet egy új erőforráscsoport létrehozásához.
    Üzemeltetési csomag App Service-csomag Az alkalmazást tároló webkiszolgálófarm helyét, méretét és funkcióit egy App Service-csomag határozza meg. Költségeket takaríthat meg, ha beállítja, hogy a webalkalmazások egyetlen közös App Service-csomag használatával több alkalmazást tároljanak. App Service csomagok határozzák meg a régiót, a példányméretet, a skálázási számot és a termékváltozatot (ingyenes, megosztott, alapszintű, standard vagy prémium). Új App Service-csomag létrehozásához válassza az Új lehetőséget. Az ingyenes és az alapszintű szintek nem támogatják az Always On lehetőséget, hogy a webhely folyamatosan fusson.

    App Service létrehozása párbeszédpanel

  6. Válassza a Létrehozás lehetőséget egy WebJob- és kapcsolódó erőforrás létrehozásához az Azure-ban ezekkel a beállításokkal, és helyezze üzembe a projektkódot.

  7. A Közzététel lapra való visszatéréshez válassza a Befejezés lehetőséget.

Az Always On engedélyezése

Folyamatos WebJobs-feladat esetén engedélyeznie kell az Always on beállítást a webhelyen, hogy a WebJobs-feladatok megfelelően fussanak. Ha nem engedélyezi az Always on beállítást, a futtatókörnyezet néhány perc inaktivitás után tétlen lesz.

  1. A Közzététel lapon válassza az Üzemeltetés fölötti három pontot az Üzemeltetési profil szakaszműveletek megjelenítéséhez, majd válassza a Megnyitás Azure Portal lehetőséget.

  2. A Beállítások területen válassza az Általános konfigurációs>beállítások lehetőséget, állítsa a Mindigbekapcsolva beállítást, majd válassza a Mentés és folytatás lehetőséget a webhely újraindításához.

A projekt közzététele

Az Azure-ban létrehozott webalkalmazással ideje közzétenni a WebJobs-projektet.

  1. A Közzététel lap Üzemeltetés területén válassza a szerkesztés gombot, módosítsa a WebJob típust értékre Continuous , majd válassza a Mentés lehetőséget. Ez biztosítja, hogy a WebJob futjon, amikor üzeneteket ad hozzá az üzenetsorhoz. Az aktivált WebJobs-feladatokat általában csak manuális webhookokhoz használják.

    Módosítsa a WebJob típusát a VS 2022 Publish (VS 2022 Közzététel) ablakról.

  2. Válassza a Közzététel gombot a Közzététel lap jobb felső sarkában. A művelet befejezése után a WebJobs-feladat az Azure-ban fut.

Tárolókapcsolat alkalmazásbeállításának létrehozása

Létre kell hoznia ugyanazt a tárolási kapcsolati sztring beállítást az Azure-ban, amelyet helyileg használt az appsettings.json konfigurációs fájlban. Így biztonságosabban tárolhatja a kapcsolati sztring és a

  1. A Profil közzététele lapon válassza az Üzemeltetés fölötti három pontot az Üzemeltetési profil szakaszműveletek megjelenítéséhez, majd válassza a Manage Azure App Service settings (Azure App Service beállítások kezelése) lehetőséget.

  2. Az Alkalmazásbeállítások területen válassza a + Beállítás hozzáadása lehetőséget.

  3. Az Új alkalmazásbeállítás neve mezőbe írja be AzureWebJobsStorage , majd válassza az OK gombot.

  4. A Távoli területen illessze be a kapcsolati sztring a helyi beállításból, és válassza az OK gombot.

A kapcsolati sztring most már be van állítva az azure-beli alkalmazásban.

A függvény aktiválása az Azure-ban

  1. Győződjön meg arról, hogy nem helyileg fut. Ha még mindig nyitva van, zárja be a konzolablakot. Ellenkező esetben előfordulhat, hogy a helyi példány dolgozza fel először a létrehozott üzenetsor-üzeneteket.

  2. A Visual Studio Üzenetsor lapján adjon hozzá egy üzenetet az üzenetsorhoz a korábbiakhoz hasonlóan.

  3. Frissítse az Üzenetsor lapot, és az új üzenet eltűnik, mert az Azure-ban futó függvény feldolgozta.

Application Insights-naplózás engedélyezése

Amikor a WebJob az Azure-ban fut, a konzol kimenetének megtekintésével nem figyelheti a függvények végrehajtását. A WebJob monitorozásához létre kell hoznia egy társított Application Insights-példányt a projekt közzétételekor.

Application Insights-példány létrehozása

  1. A Profil közzététele lapon válassza ki az Üzemeltetés fölötti három pontot az Üzemeltetési profil szakaszműveletek megjelenítéséhez, majd válassza a Megnyitás az Azure Portalon lehetőséget.

  2. A webalkalmazás Beállítások területén válassza az Application Insights lehetőséget, majd válassza az Application Insights bekapcsolása lehetőséget.

  3. Ellenőrizze a példány és a hely létrehozott erőforrásnevét, majd válassza az Alkalmaz lehetőséget.

  4. A Beállítások területen válassza a Konfiguráció lehetőséget, és ellenőrizze, hogy létre lett-e hozva egy új APPINSIGHTS_INSTRUMENTATIONKEY . Ezzel a kulccsal csatlakoztathatja a WebJob-példányt az Application Insightshoz.

Az Application Insights-naplózás előnyeinek kihasználásához frissítenie kell a naplózási kódot is.

Az Application Insights bővítmény telepítése

  1. Szerezze be a Microsoft.Azure.WebJobs.Logging.ApplicationInsights NuGet-csomag legújabb, 3.x-es verzióját.

  2. A következő parancsban cserélje le a elemet <3_X_VERSION> az 1. lépésben található aktuális verziószámra. A NuGet-csomag minden típusa egyedi verziószámmal rendelkezik.

    Install-Package Microsoft.Azure.WebJobs.Logging.ApplicationInsights -Version <3_X_VERSION>
    
  3. A Package Manager konzolon hajtsa végre a parancsot az aktuális verziószámmal a PM> belépési ponton.

Az Application Insights naplózási szolgáltatójának inicializálása

Nyissa meg a Program.cs fájlt , és adja hozzá a következő inicializálót a ConfigureLogging hívás után a következőhöz AddConsole:

// If the key exists in settings, use it to enable Application Insights.
string instrumentationKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
if (!string.IsNullOrEmpty(instrumentationKey))
{
    b.AddApplicationInsightsWebJobs(o => o.InstrumentationKey = instrumentationKey);
}

A Main metóduskódnak most az alábbi példához hasonlóan kell kinéznie:

static async Task Main()
{
    var builder = new HostBuilder();
    builder.UseEnvironment(EnvironmentName.Development);
    builder.ConfigureWebJobs(b =>
            {
                b.AddAzureStorageCoreServices();
                b.AddAzureStorage();
            });
    builder.ConfigureLogging((context, b) =>
            {
                b.AddConsole();

                // If the key exists in settings, use it to enable Application Insights.
                string instrumentationKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
                if (!string.IsNullOrEmpty(instrumentationKey))
                {
                    b.AddApplicationInsightsWebJobs(o => o.InstrumentationKey = instrumentationKey);
                }
            });
    var host = builder.Build();
    using (host)
    {
        await host.RunAsync();
    }
}

Ez inicializálja az Application Insights naplózási szolgáltatót az alapértelmezett szűréssel. Helyi futtatáskor az összes információ és magasabb szintű napló a konzolra és az Application Insightsra is meg lesz írva.

A projekt ismételt közzététele és a függvény ismételt aktiválása

  1. A Megoldáskezelőben kattintson a jobb gombbal a projektre, és válassza a Publish (Közzététel) lehetőséget.

  2. A korábbiakhoz hasonlóan a Azure Portal is létrehozhat egy üzenetsor-üzenetet, kivéve a Hello App Insights! kifejezést az üzenet szövegeként.

  3. A Profil közzététele lapon válassza ki az Üzemeltetés fölötti három pontot az Üzemeltetési profil szakaszműveletek megjelenítéséhez, majd válassza a Megnyitás az Azure Portalon lehetőséget.

  4. A webalkalmazás Beállítások csoportjában válassza az Application Insights lehetőséget, majd válassza az Application Insights-adatok megtekintése lehetőséget.

  5. Válassza a Keresés lehetőséget, majd válassza az Összes adat megtekintése az elmúlt 24 órában lehetőséget.

    Keresés kiválasztása

  6. Ha nem látja a Hello App Insights! üzenetet, válassza a Rendszeres frissítés néhány percig lehetőséget. A naplók nem jelennek meg azonnal, mert időbe telik, amíg az Application Insights-ügyfél kiüríti az általa feldolgozott naplókat.

    Naplók az Application Insightsban

Bemeneti/kimeneti kötések hozzáadása

A kötések leegyszerűsítik az adatokat beolvasó és író kódot. A bemeneti kötések leegyszerűsítik az adatokat beolvasó kódot. A kimeneti kötések leegyszerűsítik az adatokat író kódot.

Kötések hozzáadása

A bemeneti kötések leegyszerűsítik az adatokat beolvasó kódot. Ebben a példában az üzenetsor egy blob neve, amellyel megkereshet és elolvashat egy blobot az Azure Storage-ban. Ezután kimeneti kötések használatával fogja írni a fájl másolatát ugyanarra a tárolóra.

  1. A Functions.cs fájlban adja hozzá a következőt using:

    using System.IO;
    
  2. Cserélje le az ProcessQueueMessage metódust az alábbi kódra:

    public static void ProcessQueueMessage(
        [QueueTrigger("queue")] string message,
        [Blob("container/{queueTrigger}", FileAccess.Read)] Stream myBlob,
        [Blob("container/copy-{queueTrigger}", FileAccess.Write)] Stream outputBlob,
        ILogger logger)
    {
        logger.LogInformation($"Blob name:{message} \n Size: {myBlob.Length} bytes");
        myBlob.CopyTo(outputBlob);
    }
    

    Ebben a kódban queueTrigger egy kötési kifejezés, ami azt jelenti, hogy futásidőben egy másik értékre oldódik fel. Futtatókörnyezetben az üzenetsor tartalmát tartalmazza.

    Ez a kód kimeneti kötésekkel hozza létre az üzenetsor-üzenet által azonosított fájl másolatát. A fájlmásolás előtagja a copy-.

  3. A Program.cs bővítménymetódusában ConfigureWebJobs adja hozzá a AddAzureStorageBlobs metódust a HostBuilder példányhoz (a Build parancs előtt) a Storage-bővítmény inicializálásához. Ezen a ponton a metódus a ConfigureWebJobs következőképpen néz ki:

    builder.ConfigureWebJobs(b =>
    {
        b.AddAzureStorageCoreServices();
        b.AddAzureStorageQueues();
        b.AddAzureStorageBlobs();
    });
    
  4. Hozzon létre egy blobtárolót a tárfiókban.

    a. A Azure Portal lépjen az Adattárolás alatti Tárolók lapra, és válassza a + Tároló lehetőséget.

    b. Az Új tároló párbeszédpanelen adja meg a tárolót tárolónévként, majd válassza a Létrehozás lehetőséget.

  5. Töltse fel a Program.cs fájlt a blobtárolóba. (Ez a fájl használható példaként, bármilyen szövegfájlt feltölthet, és létrehozhat egy üzenetsor-üzenetet a fájl nevével.)

    a. Válassza ki a létrehozott új tárolót

    b. Kattintson a Feltöltés gombra.

    Blobfeltöltés gomb

    c. Keresse meg és válassza a Program.cs elemet, majd kattintson az OK gombra.

A projekt ismételt közzététele

  1. A Megoldáskezelőben kattintson a jobb gombbal a projektre, és válassza a Publish (Közzététel) lehetőséget.

  2. A Közzététel párbeszédpanelen győződjön meg arról, hogy az aktuális profil ki van jelölve, majd válassza a Közzététel lehetőséget. A közzététel eredményeit a Kimenet ablakban találja.

  3. Hozzon létre egy üzenetsor-üzenetet a korábban létrehozott üzenetsorban, amelynek szövege a Program.cs .

    Üzenetsor program.cs

  4. A fájl másolata ( copy-Program.cs) megjelenik a blobtárolóban.

Következő lépések

Ez az oktatóanyag bemutatja, hogyan hozhat létre, futtathat és helyezhet üzembe Egy WebJobs SDK 3.x-projektet.