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.
Ebben a rövid útmutatóban a Visual Studio Code használatával hozhat létre egy alkalmazást, amely reagál egy Azure SQL Database-tábla változásaira. A kód helyi tesztelése után üzembe helyezi azt egy új kiszolgáló nélküli függvényalkalmazásban, amely egy Rugalmas használatú csomagban fut az Azure Functionsben.
A projektforrás az Azure Developer CLI (azd) bővítmény és a Visual Studio Code használatával egyszerűsíti a projektkód helyi inicializálását és ellenőrzését, valamint a kód Azure-ban való üzembe helyezését. Ez az üzembe helyezés a biztonságos és méretezhető Azure Functions-környezetek jelenlegi ajánlott eljárásait követi.
Fontos
Bár az Azure SQL-adatbázisok változásainak megválaszolása minden nyelv esetében támogatott, ez a rövid útmutatós forgatókönyv jelenleg csak a C#, a Python és a TypeScript esetében mutat be példákat. A rövid útmutató végrehajtásához válasszon egyet a cikk tetején található támogatott nyelvek közül.
Előfeltételek
Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egy fiókot ingyenesen.
Visual Studio Code az egyik támogatott platformon.
A Visual Studio Code Azure Functions-bővítménye. Ehhez a bővítményhez azure Functions Core Tools szükséges. Ha ez az eszköz nem érhető el helyileg, a bővítmény csomagalapú telepítővel próbálja telepíteni. A Core Tools-csomagot a parancspaletta futtatásával is telepítheti vagy frissítheti. Ha nincs telepítve az npm vagy a Homebrew a helyi számítógépen, manuálisan kell telepítenie vagy frissítenie a Core Toolst.
C#-bővítmény a Visual Studio Code-hoz.
-
Node.js 18.x vagy újabb. Használja a
node --versionparancsot verziójának ellenőrzéséhez.
Az Azure Functions által támogatott Python-verziók. További információ: A Python telepítése.
- A Visual Studio Code Azure Developer CLI-bővítménye .
- A Visual Studio Code SQL Server (mssql) bővítménye .
A projekt inicializálása
A parancs paletta azd init parancsával hozhat létre helyi Azure Functions-kódprojektet egy sablonból.
A Visual Studio Code-ban nyisson meg egy mappát vagy munkaterületet, amelyben létre szeretné hozni a projektet.
Nyomja le az F1 billentyűt a parancspaletta megnyitásához, a parancs
Azure Developer CLI (azd): Initialize App (init)kereséséhez és futtatásához, majd válassza a Sablon kiválasztása lehetőséget.Amikor a rendszer kéri, keressen rá, és válassza a lehetőséget
Azure Functions with SQL Triggers and Bindings.Amikor a rendszer kéri, adjon meg egy egyedi környezetnevet, például
sqldbchanges.
Ez a parancs lekéri a projektfájlokat a sablontárházból , és inicializálja a projektet az aktuális mappában vagy munkaterületen. Ebben azda környezetben egy egyedi üzembehelyezési környezetet tart fenn az alkalmazás számára, és több is definiálható. Az Azure-ban létrehozott erőforráscsoport nevének is része.
Ez a parancs lekéri a projektfájlokat a sablontárházból , és inicializálja a projektet az aktuális mappában vagy munkaterületen. Ebben azda környezetben egy egyedi üzembehelyezési környezetet tart fenn az alkalmazás számára, és több is definiálható. Az Azure-ban létrehozott erőforráscsoport nevének is része.
Ez a parancs lekéri a projektfájlokat a sablontárházból , és inicializálja a projektet az aktuális mappában vagy munkaterületen. Ebben azda környezetben egy egyedi üzembehelyezési környezetet tart fenn az alkalmazás számára, és több is definiálható. Az Azure-ban létrehozott erőforráscsoport nevének is része.
Mielőtt helyileg futtathatja az alkalmazást, létre kell hoznia az erőforrásokat az Azure-ban.
Azure-erőforrások létrehozása
Ez a projekt úgy van konfigurálva, hogy a azd provision parancs használatával hozzon létre egy függvényalkalmazást egy Flex Consumption-csomagban, valamint az aktuális ajánlott eljárásokat követő egyéb szükséges Azure-erőforrásokat.
A Visual Studio Code-ban nyomja le az F1 billentyűt a parancspaletta megnyitásához, a parancs
Azure Developer CLI (azd): Sign In with Azure Developer CLIkereséséhez és futtatásához, majd jelentkezzen be az Azure-fiókjával.Nyomja le az F1 billentyűt a parancskatalógus megnyitásához, keresse meg és futtassa a parancsot
Azure Developer CLI (azd): Provision Azure resources (provision)a szükséges Azure-erőforrások létrehozásához.Amikor a rendszer kéri a terminálablakban, adja meg az alábbi szükséges üzembehelyezési paramétereket:
Haladéktalan Description Használandó Azure-előfizetés kiválasztása Válassza ki azt az előfizetést, amelyben létre szeretné hozni az erőforrásokat. hely üzembehelyezési paramétere Azure-régió, amelyben létre kell hozni az új Azure-erőforrásokat tartalmazó erőforráscsoportot. Csak azok a régiók jelennek meg, amelyek jelenleg támogatják a Rugalmas felhasználás csomagot. vnetEnabled üzembehelyezési paraméter Bár a sablon támogatja az erőforrások virtuális hálózaton belüli létrehozását, az üzembe helyezés és a tesztelés egyszerűsítése érdekében válassza a lehetőséget False.
A azd provision parancs a bicep-konfigurációs fájlokkal az Ön válaszát használja a szükséges Azure-erőforrások létrehozásához és konfigurálásához, a legújabb ajánlott eljárásokat követve:
- Rugalmas kihasználtságú csomag és függvényalkalmazás
- Azure SQL Database (alapértelmezett név: ToDo)
- Azure Storage (kötelező) és Application Insights (ajánlott)
- Hozzáférési szabályzatok és szerepkörök a fiókhoz
- Szolgáltatásközi kapcsolatok felügyelt identitásokkal (tárolt kapcsolati sztring helyett)
A kiépítés utáni horgok a helyi futtatáshoz szükséges local.settings.json fájlt is létrehozzák. Ez a fájl az Azure-beli adatbázishoz való csatlakozáshoz szükséges beállításokat tartalmazza.
A kód áttekintése (nem kötelező)
A minta két függvényt határoz meg:
| Függvény neve | Kódfájl | Trigger típusa | Description |
|---|---|---|---|
httptrigger-sql-output |
sql_output_http_trigger.cs | HTTP-eseményindító | Elfogadja a megfelelően formázott JSON hasznos adatokat, és az SQL kimeneti kötés használatával beszúrja az objektumot sorként a ToDo táblázatba. |
ToDoTrigger |
sql_trigger.cs | SQL-eseményindító | Figyeli a táblában a ToDo sorszintű módosításokat, és visszaad egy objektumot, amely a módosított sort jelöli. |
A ToDoItem típus ToDoItem.cs van definiálva.
| Függvény neve | Kódfájl | Trigger típusa | Description |
|---|---|---|---|
http_trigger_sql_output |
function_app.py | HTTP-eseményindító | Elfogadja a megfelelően formázott JSON hasznos adatokat, és az SQL kimeneti kötés használatával beszúrja az objektumot sorként a ToDo táblázatba. |
httptrigger-sql-output |
sql_trigger_todo | SQL-eseményindító | Figyeli a táblában a ToDo sorszintű módosításokat, és visszaad egy objektumot, amely a módosított sort jelöli. |
A ToDoItem típus todo_item.py van definiálva.
| Függvény neve | Kódfájl | Trigger típusa | Description |
|---|---|---|---|
httpTriggerSqlOutput |
sql_output_http_trigger.ts | HTTP-eseményindító | Elfogadja a megfelelően formázott JSON hasznos adatokat, és az SQL kimeneti kötés használatával beszúrja az objektumot sorként a ToDo táblázatba. |
sqlTriggerToDo |
sql_trigger.ts | SQL-eseményindító | Figyeli a táblában a ToDo sorszintű módosításokat, és visszaad egy objektumot, amely a módosított sort jelöli. |
A ToDoItem típus ToDoItem.ts van definiálva.
Mindkét függvény az alkalmazásszintű AZURE_SQL_CONNECTION_STRING_KEY_* környezeti változókat használja, amelyek identitásalapú kapcsolatot határoznak meg az Azure SQL Database-példányhoz Microsoft Entra ID-hitelesítéssel. Ezek a környezeti változók az Azure-ban (függvényalkalmazás-beállítások) és helyileg (local.settings.json) is létrejönnek a azd provision művelet során.
Csatlakozás az SQL-adatbázishoz
A Visual Studio Code SQL Server (mssql) bővítményével csatlakozhat az új adatbázishoz. Ez a bővítmény segít frissítéseket készíteni a táblában az ToDo SQL-eseményindító függvény futtatásához.
Nyomja le az F1 billentyűt, és a parancskatalógusban keresse meg és futtassa a parancsot
MS SQL: Add Connection.A Kapcsolat párbeszédpanelen módosítsa a bemenet típusát az Azure-ban tallózásra, majd adja meg a további beállításokat:
Lehetőség Választ Description Kiszolgáló Az Ön SQL Server-példánya Alapértelmezés szerint az Azure-fiókhoz elérhető összes kiszolgáló megjelenik. Az előfizetés, az erőforráscsoport és a hely használatával szűrheti a kiszolgálók listáját. Adatbázis ToDoA kiépítési folyamat során létrehozott adatbázis. Hitelesítés típusa Microsoft Entra-azonosító Ha még nem jelentkezett be, válassza a Bejelentkezés lehetőséget, és jelentkezzen be az Azure-fiókjába. Bérlőazonosító Az adott fiókbérlő. Ha a fiókjában több bérleti jog is van, válassza ki az előfizetéséhez megfelelő bérleti jogot. Válassza a Csatlakozás lehetőséget az adatbázishoz való csatlakozáshoz. A kapcsolat a helyi felhasználói fiókot használja, amely az üzemeltetési kiszolgálón rendszergazdai jogokkal rendelkezik, és az adatbázisban
dbocímre van leképezve.Az SQL Server nézetben keresse meg és bontsa ki a Kapcsolatokat, majd az új kiszolgálót az SQL Server Explorerben. Bontsa ki a Táblák elemet, és ellenőrizze, hogy létezik-e a
ToDotábla. Ha nem létezik, előfordulhat, hogy újra kell futtatniaazd provision, és ellenőriznie kell a hibákat.
A függvény helyi futtatása
A Visual Studio Code az Azure Functions Core-eszközökkel integrálva lehetővé teszi a projekt helyi fejlesztői számítógépen való futtatását, mielőtt közzétennénk az új függvényalkalmazásban az Azure-ban.
Nyomja le az F1 billentyűt, és a parancskatalógusban keresse meg és futtassa a parancsot
Azurite: Start.A függvény helyi indításához nyomja le az F5 billentyűt vagy a Futtatás és hibakeresés ikont a bal oldali tevékenységsávon.
A Terminál panelen a Core Tools kimenete látható. Az alkalmazás a Terminál panelen kezdődik, és láthatja a helyileg futó függvény nevét.
Az alkalmazás futása során ellenőrizheti és hibakeresheti mindkét függvényindítót.
Az SQL kimeneti kötésbe író HTTP-triggerfüggvény ellenőrzése:
Másolja ki ezt a JSON-objektumot, amelyet a
test.httpprojektfájlban is megtalál:{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Ezek az adatok egy olyan sort jelölnek, amelyet a HTTP-végpont meghívásakor szúr be az SQL-adatbázisba. A kimeneti kötés az adatobjektumot az adatbázis egy
INSERTműveletére fordítja le.Amikor az alkalmazás fut, az Azure nézetben, a Munkaterület alatt bontsa ki a Helyi projekt>Függvények elemet.
Válassza ki a jobb gombbal a HTTP-függvényt (vagy a Ctrl+kattintson a macOS-ra), válassza a Végrehajtás függvény most lehetőséget, illessze be a másolt JSON-adatokat, és nyomja le az Enter billentyűt.
A függvény kezeli a HTTP-kérést, és beírja az elemet a csatlakoztatott SQL-adatbázisba, és visszaadja a létrehozott objektumot.
Az SQL Server Explorerben jelölje ki a jobb gombbal a
ToDotáblázatot (vagy a Ctrl+kattintson a macOS-ra), és válassza a Felső 1000 kijelölése lehetőséget. A lekérdezés végrehajtásakor a beszúrt vagy frissített sort adja vissza.Ismételje meg a 3. lépést, és újraküldje ugyanazt az adatobjektumot ugyanazzal az azonosítóval. A kimeneti kötés ezúttal egy
UPDATEműveletet hajt végre egyINSERThelyett, és módosítja az adatbázis meglévő sorát.
Ha végzett, írja be a CtrlC+ a terminálba a Core Tools folyamat leállításához.
Telepítés az Azure-ra
A Visual Studio Code-ban futtatható azd deploy parancs futtatásával üzembe helyezheti a projektkódot az Azure-ban már kiépített erőforrásokon.
Nyomja le az F1 billentyűt a parancskatalógus megnyitásához, a parancs kereséséhez és futtatásához
Azure Developer CLI (azd): Deploy to Azure (deploy).A
azd deployparancs becsomagolja és üzembe helyezi a kódot az üzembe helyezési tárolóban. Az alkalmazás ezután elindul, és az üzembe helyezett csomagban fut.A parancs sikeres végrehajtása után az alkalmazás az Azure-ban fut. Jegyezze fel az
Endpointértéket, amely az Azure-ban futó függvényalkalmazás URL-címe.
A függvény meghívása az Azure-ban
A Visual Studio Code-ban nyomja le az F1 billentyűt, majd a parancskatalógusban keresse meg és futtassa a parancsot
Azure: Open in portal, válassza kiFunction appés válassza ki az új alkalmazást. Szükség esetén jelentkezzen be az Azure-fiókjával.A bal oldali panelen válassza a Naplóstream lehetőséget, amely az alkalmazás Application Insights-naplóihoz csatlakozik.
Térjen vissza a Visual Studio Code-hoz, és futtassa mindkét függvényt az Azure-ban.
Nyomja le az F1 billentyűt a parancskatalógus megnyitásához, a parancs kereséséhez és futtatásához
Azure Functions: Execute Function Now....Keresse meg és válassza ki a távoli függvényalkalmazást a listából, majd válassza ki a HTTP-eseményindító függvényt.
A korábbiakhoz hasonlóan illessze be a JSON-objektumadatokat az Enter hasznos adattörzsébe , és nyomja le az Enter billentyűt.
{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Ahelyett, hogy egy
INSERT-t hajtana végre, egyUPDATEelvégzéséhez cserélje le aid-t egy új GUID értékre.Térjen vissza a portálra, és tekintse meg a végrehajtási kimenetet a naplóablakban.
Erőforrások tisztítása
Ha végzett a függvényalkalmazással és a kapcsolódó erőforrásokkal, ezzel a paranccsal törölheti a függvényalkalmazást és annak kapcsolódó erőforrásait az Azure-ból, és elkerülheti a további költségek felmerülését:
azd down --no-prompt
Megjegyzés:
A --no-prompt beállítás arra utasítja azd , hogy az erőforráscsoportot anélkül törölje, hogy ön megerősítést kap.
Ez a parancs nincs hatással a helyi kódprojektre.