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


Rövid útmutató: Az Azure Cosmos DB adatbázis-változásainak megválaszolása az Azure Functions használatával

Ebben a rövid útmutatóban a Visual Studio Code használatával hozhat létre egy alkalmazást, amely reagál az Azure Cosmos DB-ben található Nem SQL-adatbázisban lévő adatbázisváltozásokra. A kód helyi tesztelése után üzembe helyezi azt egy új kiszolgáló nélküli függvényalkalmazásban, amelyet egy Flex Consumption-csomagban hoz létre 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 Üzembe helyezését az Azure-ban. Ez az üzembe helyezés a biztonságos és méretezhető Azure Functions-környezetek jelenlegi ajánlott eljárásait követi.

Fontos

Az Azure Cosmos DB NoSQL adatbázis változásaira való válaszadás minden nyelven támogatott, de ez a gyors útmutató jelenleg csak C#, Python és TypeScript példákat tartalmaz. 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

  • Node.js 18.x vagy újabb. Használja a node --version parancsot verziójának ellenőrzéséhez.

A projekt inicializálása

A parancs paletta azd init parancsával hozhat létre helyi Azure Functions-kódprojektet egy sablonból.

  1. A Visual Studio Code-ban nyisson meg egy mappát vagy munkaterületet, amelyben létre szeretné hozni a projektet.

  2. 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.

    Előfordulhat, hogy az aktuális mappa vagy munkaterület inicializálása némi azd késéssel jár.

  1. Amikor a rendszer kéri, válassza a Sablon kiválasztása, majd keresse meg és válassza ki a Azure Functions with Cosmos DB Bindings (.NET).

  2. Amikor a rendszer kéri, adjon meg egy egyedi környezetnevet, például cosmosdbchanges-dotnet.

    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.

  1. Amikor a rendszer kéri, válassza a Sablon kiválasztása, majd keresse meg és válassza ki a Azure Functions TypeScript CosmosDB trigger.

  2. Amikor a rendszer kéri, adjon meg egy egyedi környezetnevet, például cosmosdbchanges-ts.

    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.

  1. Amikor a rendszer kéri, válassza a Sablon kiválasztása, majd keresse meg és válassza ki a Azure Functions Python with CosmosDB triggers and bindings....

  2. Amikor a rendszer kéri, adjon meg egy egyedi környezetnevet, például cosmosdbchanges-py.

    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.

  1. Futtassa ezt a parancsot a helyi operációs rendszertől függően a konfigurációs szkriptek számára a szükséges engedélyek megadásához:

    Futtassa ezt a parancsot megfelelő jogosultságokkal:

    chmod +x ./infra/scripts/*.sh
    

Mielőtt helyileg futtathatja az alkalmazást, létre kell hoznia az erőforrásokat az Azure-ban. Ez a projekt nem használ helyi emulációt az Azure Cosmos DB-hez.

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

Ez a projekt úgy van konfigurálva, hogy a azd provision parancsot használva hozzon létre egy függvényalkalmazást egy Flex Consumption-csomagban, valamint egyéb szükséges Azure-erőforrásokat, amelyek az aktuális ajánlott eljárásokat követik.

  1. 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.

  2. 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:

  3. 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 Cosmos DB-fiók
    • 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étrehoznak. Ez a fájl az Azure Cosmos DB-adatbázishoz való csatlakozáshoz szükséges beállításokat is tartalmazza az Azure-ban.

    Jótanács

    Ha a kiépítés során bármilyen lépés meghiúsul, a problémák megoldása után újra futtathatja a azd provision parancsot.

    A parancs sikeres végrehajtása után helyileg futtathatja a projektkódot, és aktiválhatja azt az Azure Cosmos DB-adatbázisban.

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.

  1. Nyomja le az F1 billentyűt, és a parancskatalógusban keresse meg és futtassa a parancsot Azurite: Start.

  2. 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.

    Ha problémákat tapasztal a Windows rendszeren való futtatással, győződjön meg arról, hogy a Visual Studio Code alapértelmezett terminálja nincs beállítva WSL Bash-ra.

  3. Ha a Core Tools továbbra is fut a Terminálban, nyomja le az F1 billentyűt, majd a parancskatalógusban keresse meg és futtassa a parancsot NoSQL: Create Item... , és válassza ki az document-db adatbázist és a tárolót documents is.

  4. Cserélje le az Új Item.json fájl tartalmát erre a JSON-adatra, és válassza a Mentés lehetőséget:

    {
        "id": "doc1", 
        "title": "Sample document", 
        "content": "This is a sample document for testing my Azure Cosmos DB trigger in Azure Functions."
    } 
    

    A Mentés lehetőség kiválasztása után megjelenik a függvény végrehajtása a terminálban, és a helyi dokumentum frissül, hogy tartalmazza a szolgáltatás által hozzáadott metaadatokat.

  5. Ha elkészült, a gazdafolyamat leállításához nyomja le a Ctrl+C billentyűkombinációt a func.exe terminálablakban.

A kód áttekintése (nem kötelező)

A függvény egy Azure Cosmos DB NoSQL-adatbázisban lévő változáscsatorna alapján aktiválódik. Ezek a környezeti változók konfigurálják, hogy az eseményindító hogyan figyeli a változáscsatornát:

  • COSMOS_CONNECTION__accountEndpoint: A Cosmos DB-fiók végpontja
  • COSMOS_DATABASE_NAME: A monitorozni kívánt adatbázis neve
  • COSMOS_CONTAINER_NAME: A monitorozni kívánt tároló neve

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.

A CosmosTrigger.cs projektfájlban áttekintheti az Azure Cosmos DB-eseményindítót meghatározó kódot.

A cosmos_trigger.ts projektfájlban áttekintheti az Azure Cosmos DB-eseményindítót meghatározó kódot.

A function_app.py projektfájlban áttekintheti az Azure Cosmos DB-eseményindítót meghatározó kódot.

A függvénykód helyi áttekintése és ellenőrzése után itt az ideje, hogy közzétegye a projektet az Azure-ban.

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 deploy parancs 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.

A függvény meghívása az Azure-ban

  1. 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 ki Function appés válassza ki az új alkalmazást. Szükség esetén jelentkezzen be az Azure-fiókjával.

    Ez a parancs megnyitja az új függvényalkalmazást az Azure Portalon.

  2. A főlap Áttekintés lapján válassza ki a függvényalkalmazás nevét, majd a Naplók lapot.

  3. NoSQL: Create Item A Visual Studio Code parancsával ismét hozzáadhat egy dokumentumot a tárolóhoz a korábbiakhoz hasonlóan.

  4. Ellenőrizze újra, hogy a függvényt egy frissítés aktiválja-e a figyelt tárolóban.

A kód ismételt üzembe helyezése

A parancsot annyiszor futtathatja azd deploy , amennyi a függvényalkalmazás kódfrissítéseinek üzembe helyezéséhez szükséges.

Megjegyzés:

Az üzembe helyezett kódfájlokat mindig felülírja a legújabb üzembehelyezési csomag.

A kérésekre adott kezdeti válaszokat azd és az általuk azd létrehozott környezeti változókat a rendszer helyileg tárolja a nevesített környezetben. azd env get-values A paranccsal áttekintheti a környezet összes olyan változóját, amelyet az Azure-erőforrások létrehozásakor használtak.

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.