Share via


Csatlakozás Azure SQL-adatbázishoz a Azure Functions használatával

Ez a cikk bemutatja, hogyan hozhat létre ütemezett feladatokat a Azure Functions használatával, amelyek egy Azure SQL-adatbázishoz vagy Azure SQL Managed Instance csatlakoznak. A függvénykód törli az adatbázis egy táblájának sorait. Az új C#-függvény a Visual Studio 2019 előre definiált időzítő triggersablonja alapján jön létre. A forgatókönyv támogatásához a függvényalkalmazásban egy kapcsolati sztring adatbázist is be kell állítania alkalmazásbeállításként. A Azure SQL Managed Instance engedélyeznie kell a nyilvános végpontot, hogy csatlakozni tudjon Azure Functions. Ez a forgatókönyv tömeges műveletet használ az adatbázison.

Ha ez az első tapasztalata a C#-függvények használatában, olvassa el a Azure Functions C#-fejlesztői referenciát.

Előfeltételek

Kapcsolatadatok lekérése

Le kell kérnie az adatbázis kapcsolati sztring, amelyet az Adatbázis létrehozása Azure SQL-adatbázisban a Azure Portal használatával végzett.

  1. Jelentkezzen be az Azure Portal.

  2. A bal oldali menüben válassza az SQL-adatbázisok lehetőséget, majd az SQL-adatbázisok lapon válassza ki az adatbázist.

  3. Válassza a Kapcsolati sztringek lehetőséget a Beállítások területen, és másolja ki a teljes ADO.NET kapcsolati sztring. Azure SQL Managed Instance nyilvános végpont kapcsolati sztring másolása.

    Másolja ki a ADO.NET kapcsolati sztring.

A kapcsolati sztring beállítása

A függvények végrehajtásához szükséges gazdaszolgáltatást az Azure-ban egy függvényalkalmazás biztosítja. Ajánlott biztonsági gyakorlatként tárolja a kapcsolati sztringeket és más titkos kódokat a függvényalkalmazás beállításaiban. Az alkalmazásbeállítások használata megakadályozza a kapcsolati sztring véletlen közzétételét a kóddal. A függvényalkalmazás alkalmazásbeállításai közvetlenül a Visual Studióból érhetők el.

Az alkalmazást korábban közzé kell tennie az Azure-ban. Ha még nem tette meg, tegye közzé a függvényalkalmazást az Azure-ban.

  1. A Megoldáskezelő kattintson a jobb gombbal a függvényalkalmazás projektjére, és válassza a Közzététel parancsot.

  2. A Közzététel lapon válassza a három pontot (...) az Üzemeltetés területen, majd válassza a Kezelés Azure App Service beállítások lehetőséget.

    A függvényalkalmazás App Service beállításainak kezelése.

  3. Az Alkalmazásbeállítások területen válassza a Beállítás hozzáadása lehetőséget, az Új alkalmazásbeállítás neve területen írja be sqldb_connectiona értéket, majd kattintson az OK gombra.

    Adjon hozzá egy alkalmazásbeállítást a függvényalkalmazáshoz.

  4. Az új sqldb_connection beállításban illessze be az előző szakaszban másolt kapcsolati sztring a Helyi mezőbe, és cserélje le {your_username} a és {your_password} a helyőrzőket valós értékekre. Válassza a Helyi érték beszúrása lehetőséget a frissített érték Távoli mezőbe másolásához, majd kattintson az OK gombra.

    Adja hozzá az SQL kapcsolati sztring beállítást.

    A kapcsolati sztringeket a rendszer titkosítva tárolja az Azure-ban (távoli). A titkos kódok kiszivárgásának megakadályozása érdekében a local.settings.json projektfájlt (Local) ki kell zárni a verziókövetésből, például .gitignore fájl használatával.

Az SqlClient-csomag hozzáadása a projekthez

Hozzá kell adnia az SqlClient kódtárat tartalmazó NuGet-csomagot. Ez az adatelérési kódtár szükséges a SQL Database való csatlakozáshoz.

  1. Nyissa meg a helyi függvényalkalmazás-projektet a Visual Studio 2022-ben.

  2. A Megoldáskezelő kattintson a jobb gombbal a függvényalkalmazás projektjére, és válassza a Manage NuGet Packages (NuGet-csomagok kezelése) lehetőséget.

  3. A Tallózás fülön keresse meg a(z) Microsoft.Data.SqlClient elemet, majd válassza ki.

  4. A Microsoft.Data.SqlClient lapon válassza ki a verziót 5.1.0 , majd kattintson a Telepítés gombra.

  5. A telepítés befejezése után tekintse át a módosításokat, majd kattintson az OK gombra az Előnézet ablak bezárásához.

  6. Ha megjelenik egy License Acceptance (Licenc elfogadása) ablak, kattintson az I Accept (Elfogadom) gombra.

Most hozzáadhatja a SQL Database csatlakozó C#-függvénykódot.

Időzítő által aktivált hozzáadása

  1. A Megoldáskezelő kattintson a jobb gombbal a függvényalkalmazás projektjére, és válassza azÚj Azure-függvényhozzáadása> lehetőséget.

  2. Ha a Azure Functions sablon van kijelölve, nevezze el az új elemet, DatabaseCleanup.cs és válassza a Hozzáadás lehetőséget.

  3. Az Új Azure-függvény párbeszédpanelen válassza az Időzítő eseményindító , majd a Hozzáadás lehetőséget. Ez a párbeszédpanel létrehoz egy kódfájlt az időzítő által aktivált függvényhez.

  4. Nyissa meg az új kódfájlt, és adja hozzá a következő using utasításokat a fájl tetején:

    using Microsoft.Data.SqlClient;
    using System.Threading.Tasks;
    
  5. Cserélje le a meglévő Run függvényt a következő kódra:

    [FunctionName("DatabaseCleanup")]
    public static async Task Run([TimerTrigger("*/15 * * * * *")]TimerInfo myTimer, ILogger log)
    {
        // Get the connection string from app settings and use it to create a connection.
        var str = Environment.GetEnvironmentVariable("sqldb_connection");
        using (SqlConnection conn = new SqlConnection(str))
        {
            conn.Open();
            var text = "UPDATE SalesLT.SalesOrderHeader " +
                    "SET [Status] = 5  WHERE ShipDate < GetDate();";
    
            using (SqlCommand cmd = new SqlCommand(text, conn))
            {
                // Execute the command and log the # rows affected.
                var rows = await cmd.ExecuteNonQueryAsync();
                log.LogInformation($"{rows} rows were updated");
            }
        }
    }
    

    Ez a függvény 15 másodpercenként fut, hogy frissítse az Status oszlopot a szállítási dátum alapján. Az időzítő eseményindítóval kapcsolatos további információkért lásd: Időzítő eseményindító Azure Functions.

  6. Nyomja le az F5 billentyűt a függvényalkalmazás elindításához. Megnyílik a Azure Functions Core Tools végrehajtási ablaka a Visual Studio mögött.

  7. Az indítás után 15 másodperccel fut a függvény. Figyelje meg a kimenetet, és jegyezze fel a SalesOrderHeader táblában frissített sorok számát.

    A függvénynaplók megtekintése.

    Az első végrehajtáskor 32 adatsort kell frissítenie. A következő futtatások nem frissítik az adatsorokat, hacsak nem módosítja a SalesOrderHeader tábla adatait, hogy a UPDATE utasítás több sort jelöljön ki.

Ha a függvény közzétételét tervezi, ne felejtse el 15 másodpercenként ésszerűbb cron ütemezésre módosítani az TimerTrigger attribútumot. Arról is gondoskodnia kell, hogy a függvényalkalmazás hozzáférhessen a Azure SQL Adatbázishoz vagy Azure SQL Managed Instance. További információért tekintse meg az alábbi hivatkozások egyikét a Azure SQL típusa alapján:

Következő lépések

A következő lépésben megtudhatja, hogyan használhatja. A Logic Apps szolgáltatással együttműködve integrálható más szolgáltatásokkal.

A Functions szolgáltatással kapcsolatos további információkért tekintse meg a következő cikkeket: