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


Azure SQL-kötések az Azure Functionshez – áttekintés

Ez a cikksorozat bemutatja, hogyan használható az Azure SQL-kötések az Azure Functionsben. Az Azure Functions támogatja a bemeneti kötéseket, a kimeneti kötéseket és egy függvényindítót az Azure SQL- és SQL Server-termékekhez.

Művelet Típus
Függvény aktiválása, ha változás észlelhető egy SQL-táblában SQL-eseményindító
Adatok beolvasása adatbázisból Bemeneti kötés
Adatok mentése adatbázisba Kimeneti kötés

A bővítmény telepítése

A telepített NuGet-csomag a függvényalkalmazásban használt C# módtól függ:

A függvények izolált C# feldolgozói folyamatban futnak. További információ: Útmutató a C# Azure Functions izolált feldolgozói folyamatban való futtatásához.

A NuGet-csomag telepítésével adja hozzá a bővítményt a projekthez.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql

A Microsoft.Azure.Functions.Worker.Extensions.Sql csomag előzetes verziójának használatához adja hozzá a --prerelease jelölőt a parancshoz. Az előzetes verziójú funkciók az Azure Functions SQL Extensions kiadási oldalán tekinthetők meg.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql --prerelease

Feljegyzés

Az Azure Functions-hez készült Azure SQL-kötések előzetes verziói közötti kompatibilitástörő változások megkövetelik, hogy az ugyanazon adatbázist célzó összes függvény ugyanazt az SQL-bővítménycsomagot használja.

Csomag telepítése

Ha használni szeretné ezt a kötéskiterjesztést az alkalmazásban, győződjön meg arról, hogy a projekt gyökerében található host.json fájl tartalmazza a extensionBundle következő hivatkozást:

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

Ebben a példában az version érték [4.0.0, 5.0.0) arra utasítja a Functions-gazdagépet, hogy 4.0.0 legalább, de annál kisebb 5.0.0csomagverziót használjon, amely tartalmazza a 4.x összes lehetséges verzióját. Ez a jelölés hatékonyan fenntartja az alkalmazást a v4.x bővítménycsomag legújabb elérhető alverzióján.

Ha lehetséges, a legújabb bővítménycsomag főverziót kell használnia, és engedélyeznie kell, hogy a futtatókörnyezet automatikusan fenntartsa a legújabb alverziót. A legújabb csomag tartalmát a bővítménykötegek kiadási oldalán tekintheti meg. További információ: Azure Functions-bővítménykötegek.

Ha az alkalmazásnak előzetes verziójú funkciókat kell használnia, inkább az előzetes verziójú csomag legújabb verziójára kell hivatkoznia. További információ: Az előzetes verziójú bővítménykötegek működése.

Az előzetes verziójú funkciók az Azure Functions SQL Extensions kiadási oldalán tekinthetők meg.

Feljegyzés

Az Azure Functions-hez készült Azure SQL-kötések előzetes verziói közötti kompatibilitástörő változások megkövetelik, hogy az ugyanazon adatbázist célzó összes függvény ugyanazt az SQL-bővítménycsomagot használja.

Csomagok frissítése

Adja hozzá az Azure Functions Java SQL Types csomagot a függvényprojekthez a pom.xml projekt fájljának frissítésével, ahogyan az alábbi példában is látható:

<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-sql</artifactId>
    <version>2.1.0</version>
</dependency>

SQL-kapcsolati sztring

Az Azure Functions Azure SQL-kötései rendelkeznek az összes kötés és eseményindító kapcsolati sztring szükséges tulajdonságával. Ezek továbbítják a kapcsolati sztring a Microsoft.Data.SqlClient könyvtárnak, és támogatják az SqlClient ConnectionString dokumentációjában meghatározott kapcsolati sztring.

Fontos

Az optimális biztonság érdekében a Microsoft Entra ID-t felügyelt identitásokkal kell használnia a Functions és az Azure SQL Database közötti kapcsolatokhoz. A felügyelt identitások biztonságosabbá teszik az alkalmazást azáltal, hogy eltávolítják az alkalmazástelepítések titkos kulcsait, például a használt kapcsolati sztring hitelesítő adatait, a kiszolgálóneveket és a portokat. Ebből az oktatóanyagból megtudhatja, hogyan használhat felügyelt identitásokat. Függvényalkalmazás csatlakoztatása az Azure SQL-hez felügyelt identitással és SQL-kötésekkel.

A fontosabb kulcsszavak a következők:

  • Authentication: lehetővé teszi, hogy egy függvény Microsoft Entra-azonosítóval és felügyelt identitásokkal csatlakozzon az Azure SQL-hez. További információ: Függvényalkalmazás csatlakoztatása az Azure SQL-hez felügyelt identitással és SQL-kötésekkel.
  • Command timeout: lehetővé teszi, hogy a függvény másodpercekben meghatározott ideig várjon a lekérdezés megszüntetése előtt (alapértelmezett 30 másodperc)
  • ConnectRetryCount: lehetővé teszi a függvények számára, hogy automatikusan további újracsatlakozási kísérleteket hajtsanak létre, különösen az Azure SQL Database kiszolgáló nélküli rétegére (alapértelmezett 1)
  • Pooling: lehetővé teszi, hogy egy függvény újra felhasználja az adatbázis kapcsolatait, ami javíthatja a teljesítményt (alapértelmezett true). A kapcsolatkészletezés további beállításai közé tartozik az Connection Lifetime, Max Pool Sizeés Min Pool Sizea . További információ a kapcsolatkészletezésről a ADO.NET dokumentációjában

Megfontolások

  • Az Azure SQL-kötés támogatja a Functions-futtatókörnyezet 4.x és újabb verzióját.
  • Az Azure SQL-kötések forráskódja ebben a GitHub-adattárban található.
  • Ez a kötés egy Azure SQL- vagy SQL Server-adatbázishoz való kapcsolódást igényel.
  • Adattípusú NTEXTTEXToszlopokkal rendelkező táblák kimeneti kötései, vagy IMAGE nem támogatottak, és az adat-upserts sikertelen lesz. Ezek a típusok az SQL Server egy későbbi verziójában lesznek eltávolítva , és nem kompatibilisek a OPENJSON jelen Azure Functions-kötés által használt függvénnyel.
  • Használjon felügyelt identitásokat felhasználónevek és jelszavak helyett.
  • Fontolja meg egy Azure-kulcsérték használatát az alkalmazásbeállítások tárolásához.

Példák

Az Azure SQL-kötések GitHub-adattárában elérhető C#, Java, JavaScript, PowerShell és Python-minták mellett továbbiak is elérhetők az Azure-mintákban:

Következő lépések