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


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

Előfeltételek

A cikkben szereplő példák HTTP-teszteszközt használnak. Ügyeljen arra, hogy olyan eszközt válasszon, amely biztonságosan tartja az adatokat. További információ: HTTP-teszteszközök.

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.

A kérelem helyének meghatározása: gazdagép neve + mappa elérési útja + függvény neve

  • 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ím myfunctiondemos-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/functionskell 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 a x-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énytx-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.

Figyelemfelhívás

A főkulcs által megadott függvényalkalmazás emelt szintű engedélyei miatt nem szabad megosztania ezt a kulcsot harmadik felekkel, és nem szabad azt egy alkalmazásban terjesztenie. A kulcsot csak HTTPS-végpontnak kell elküldeni.

  1. Lépjen a függvényalkalmazásra az Azure Portalon, válassza az Alkalmazáskulcsok lehetőséget, majd a _master kulcsot.

    Keresse meg a másolandó főkulcsot.

  2. A Kulcs szerkesztése szakaszban másolja a kulcs értékét a vágólapra, majd kattintson az OK gombra.

    Másolja a főkulcsot a vágólapra.

A függvény meghívása

  1. Az Azure Portalon navigáljon a függvényalkalmazás tetejére, és válassza ki a függvényt.

  2. 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 jelennek meg, amikor manuálisan futtatja a függvényt a HTTP-teszteszközről.

    Képernyőkép a

  3. A HTTP-teszteszközben használja a kérelem URL-címként definiált kérési helyet, győződjön meg arról, hogy a HTTP-kérelem metódusa POST, és adja meg a következő két kérésfejlécet:

    Kulcs Érték
    x-functions-key A vágólapról beillesztett főkulcsérték.
    Content-Type application/json
  4. Győződjön meg arról, hogy a POST-kérelem hasznos adata/törzse .{ "input": "<TRIGGER_INPUT>" } <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.

  5. Küldje el a HTTP POST kérést. A válasznak HTTP 202 (elfogadott) válasznak kell lennie.

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

    A főkulcs-teszt eredményeinek megtekintéséhez tekintse meg a naplókat.

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.

Következő lépések