04
Most jön a varázslat: létrehozunk egy Blob Trigger (Fájlfeltöltés-figyelő) függvényt.
Elmélet: Ahelyett, hogy írnál egy végtelenített ciklust (while true), ami másodpercenként lekérdezi a tárhelyet, hogy "Van új fájl? Van új fájl?", az Azure Event-Driven (eseményvezérelt) architektúrája automatikusan "felébreszti" és lefutattja a kódodat abban a tizedmásodpercben, ahogy egy új fájl landol a tárhelyen. Amikor nincs fájlfeltöltés, a kódod "alszik", és kereken 0 dollárba kerül.
Ehhez két dolgot kell tennünk: csinálunk egy mappát a Storage Accountban, majd ráállítjuk a Functiont.
1. Rész: A figyelt mappa (Container) létrehozása
- A felső keresőbe írd be, hogy Resource groups, és nyisd meg az
rg-azure-trainingcsoportodat. - A listában kattints rá a korábban létrehozott Storage account-odra (pl.
satraining...). - A bal oldali menüsávban (kicsit lejjebb görgetve, a Data storage szekcióban) kattints a Containers menüpontra.
- Kattints a felső sorban a + Container gombra.
- A jobb oldalon felugró ablakban a Name mezőbe írd be:
uploads(csak kisbetűkkel). - A Public access level maradhat a default Private beállításon.
- Kattints a Create gombra az alján. Ezzel kész is a mappánk.
2. Rész: A Blob Trigger függvény létrehozása (Frissített Portal verzió)
- A Function Appod Overview (Áttekintés) oldalán, a Functions tabon belül kattints az Azure portal lehetőségre. (Ezzel jelezzük a rendszernek, hogy nem külső szerkesztőt, hanem a beépített portált használjuk).
- Megjelenik egy sablonválasztó felület (Select a template). A listából keresd ki és válaszd az Azure Blob Storage trigger sablont.
- Az alsó (vagy oldalsó) beállítási panelen töltsd ki a következőket:
- New Function name: Legyen például
FajlFeltoltesFigyelo. - Path: Ez a rész nagyon fontos! Ide írd be az előzőleg létrehozott mappád nevét pontosan így:
uploads/{name}. (Ez mondja meg a kódnak, hogy kizárólag azuploadsmappát figyelje, a{name}pedig egy változó lesz, ami futásidőben felveszi a frissen feltöltött fájl nevét). - Storage account connection: Kattints a New (vagy +) gombra a mező mellett, és a felugró listából válaszd ki a saját Storage Accountodat (a
satraining...nevűt). Ezzel engedélyezzük a Functionnek, hogy olvassa a tárhelyet. - Kattints a Create (vagy Add) gombra az alján.
Az Azure most legenerálja az alap kódot és összedrótozza az eseménykezelőt a háttérben. Ha elkészült, a rendszer automatikusan bedob a FajlFeltoltesFigyelo nevű függvényed saját kezelőfelületére.
Ahhoz, hogy belenézz az elkészült scriptbe, a bal oldali menüsávban (a Developer szekció alatt) kattints a Code + Test menüpontra. Itt meg fogod látni a beépített kódszerkesztőt és magát a Node.js fájlt (index.js), ami készen áll arra, hogy lereagálja a fájlfeltöltéseket.