Nem HTTP által aktivált függvény manuális futtatása
Ez a cikk bemutatja, hogyan futtathat manuálisan egy nem HTTP-aktivált függvényt speciálisan formázott HTTP-kérésen keresztül.
Bizonyos környezetekben, például a fejlesztés és a hibaelhárítás során előfordulhat, hogy "igény szerinti" Azure-függvényt kell futtatnia, amely közvetett módon aktiválódik. A közvetett eseményindítók közé tartoznak például az ütemezési függvények vagy az események eredményeként futó függvények.
A Postmant a következő példában használjuk, de a cURL, a Fiddler vagy bármely más hasonló eszköz használatával HTTP-kéréseket küldhet.
A cikkben ismertetett eljárás egyenértékű egy függvény Code + Test lapjának Tesztelés/Futtatás funkciójával az Azure Portalon. A Visual Studio Code használatával manuálisan is futtathat függvényeket.
A kérelem helyének meghatározása
Nem HTTP-aktivált függvény futtatásához módot kell adnia arra, hogy kérést küldjön az Azure-nak a függvény futtatásához. A kérés létrehozásához használt URL-cím egy adott űrlapot használ.
- Gazdagép neve: A függvényalkalmazás nyilvános helye, amely a függvényalkalmazás nevéből, valamint azurewebsites.net vagy az egyéni tartományból áll. Amikor az előkészítéshez használt üzembehelyezési pontokkal dolgozik, a gazdagépnév része az éles állomás neve, amelyhez
-<slotname>
hozzá van fűzve. Az előző példában az URL-címmyfunctiondemos-staging.azurewebsites.net
egy .staging
- Mappa elérési útja: Ha HTTP-kérésen keresztül szeretné elérni a nem HTTP-aktivált függvényeket, a kérést az elérési úton
admin/functions
kell elküldenie. Az elérési út alatti/admin/
API-k csak engedéllyel érhetők el. - Függvény neve: A futtatni kívánt függvény neve.
A következő szempontok vonatkoznak a rendszergazdai végpontokra irányuló kérésekre a függvényalkalmazásban:
- Amikor kéréseket küld az
/admin/
elérési út bármely végpontjára, meg kell adnia az alkalmazás főkulcsát ax-functions-key
kérés fejlécében. - Helyi futtatáskor a rendszer nem kényszeríti ki az engedélyezést, és a függvény főkulcsa nem szükséges. Közvetlenül meghívhatja a fejlécet kihagyó függvényt
x-functions-key
. - Amikor függvényalkalmazás-végpontokat ér el egy üzembehelyezési ponton, győződjön meg arról, hogy a pontspecifikus gazdagépnevet használja a kérelem URL-címében, valamint a pontspecifikus főkulcsot.
A főkulcs lekérése
A főkulcsot az Azure Portalról vagy az Azure CLI használatával szerezheti be.
Figyelem
A főkulcs által megadott, a függvényalkalmazásban megadott emelt szintű engedélyek miatt nem szabad megosztania ezt a kulcsot harmadik felekkel, és nem terjesztheti azt egy alkalmazásban. A kulcsot csak HTTPS-végpontnak kell elküldeni.
Lépjen a függvényalkalmazásra az Azure Portalon, válassza az Alkalmazáskulcsok lehetőséget, majd a
_master
kulcsot.A Kulcs szerkesztése szakaszban másolja a kulcs értékét a vágólapra, majd kattintson az OK gombra.
A függvény meghívása
Az Azure Portalon navigáljon a függvényalkalmazás tetejére, és válassza ki a függvényt.
Válassza a Kód + Teszt lehetőséget, majd a Naplók lehetőséget. Az itt naplózott függvény üzenetei akkor láthatók, amikor manuálisan futtatja a függvényt a Postmanből.
Nyissa meg a Postmant (vagy azzal egyenértékű HTTP-szerkesztő eszközt), és írja be a kérés helyét az URL-szövegmezőbe.
Győződjön meg arról, hogy a HTTP-metódus POST értékre van állítva, válassza a Fejlécek lapot, és adja hozzá a következő két fejléckulcs-érték párot:
Kulcs Érték x-functions-key
A vágólapról beillesztett főkulcsérték. Content-Type
application/json
Válassza a Törzs fület, és írja be
{ "input": "<TRIGGER_INPUT>" }
a kérés törzsét.<TRIGGER_INPUT>
A megadott megadott érték az eseményindító típusától függ, de csak sztring, numerikus vagy logikai érték lehet. A JSON-hasznos adatokat használó szolgáltatások, például az Azure Service Bus esetében a JSON-hasznos adatokat sztringként kell kiszúrni és szerializálni.Ha nem szeretne bemeneti adatokat átadni a függvénynek, akkor is üres szótárat
{}
kell megadnia a POST-kérelem törzseként. További információt az adott nem HTTP-eseményindító referenciacikkében talál.Válassza az Küldés lehetőséget.
A Postman ezután a 202 Elfogadva állapotot jelenti.
Ezután térjen vissza a függvényhez az Azure Portalon. Tekintse át a naplókat, és a függvény manuális hívásából érkező üzeneteket láthatja.
Az eseményindítónak küldött adatok elérésének módja az eseményindító típusától és a függvény nyelvétől függ. További információkért tekintse meg az adott eseményindítóra vonatkozó hivatkozási példákat.