Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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értelmezetttrue). A kapcsolatkészletezés további beállításai közé tartozik azConnection Lifetime,Max Pool SizeésMin 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, vagyIMAGEnem 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 aOPENJSONjelen 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:
- C# ToDo API-minta Azure SQL-kötésekkel
- SQL-kötések használata az Azure Stream Analyticsben
- Adatok küldése az Azure SQL-ből a Pythonnal