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


Event Grid-eseményindítók és kötések használata az Azure Functionsben

Az Azure Functions beépített integrációt biztosít az Azure Event Griddel triggerek és kötések használatával. Ez a cikk bemutatja, hogyan konfigurálhatja és értékelheti helyileg az Event Grid-eseményindítót és a kötéseket. Az Event Grid-eseményindítóról, valamint a kimeneti kötések definícióiról és példáiról az alábbi referenciacikkek egyikében talál további információt:

Esemény-előfizetés létrehozása

Az Event Grid HTTP-kéréseinek fogadásához előfizetésre van szüksége az Event Grid által létrehozott eseményekhez. Az esemény-előfizetések megadják a függvényt meghívó végpont URL-címet. Amikor esemény-előfizetést hoz létre a függvény Integráció lapján az Azure Portalon, az URL-címet adja meg Önnek. Amikor programozott módon hoz létre egy esemény-előfizetést, vagy amikor az Event Gridből hozza létre az esemény-előfizetést, meg kell adnia a végpontot. A végpont URL-címe tartalmaz egy rendszerkulcsot, amelyet a Functions-rendszergazda REST API-jaitól kell beszereznie.

A webhook végpontJÁNAK URL-címének lekérése

Az Event Grid által aktivált függvény URL-végpontja a Functions-futtatókörnyezet verziójától függ. Az alábbi példa a verzióspecifikus URL-mintát mutatja:

https://{functionappname}.azurewebsites.net/runtime/webhooks/eventgrid?functionName={functionname}&code={systemkey}

Feljegyzés

A Blob Storage-eseményindítónak van egy verziója, amely esemény-előfizetéseket is használ. Az ilyen típusú Blob Storage-eseményindító végponti /runtime/webhooks/blobsURL-címe elérési útja, míg az Event Grid-eseményindító elérési útja az lenne /runtime/webhooks/EventGrid. A blobok feldolgozási lehetőségeinek összehasonlítása: Trigger egy blobtárolón.

A rendszerkulcs beszerzése

A felépítendő URL-végpont tartalmaz egy rendszerkulcs-értéket. A rendszerkulcs egy, az Event Grid-webhookra jellemző engedélyezési kulcs, amelyet egy Event Grid-eseményindító végponti URL-címére irányuló kérésnek tartalmaznia kell. A következő szakasz a rendszerkulcs lekérését ismerteti.

A függvényalkalmazás főkulcsát a függvényalkalmazás>kulcsaiból is lekérheti a portálon.

Figyelemfelhívás

A főkulcs rendszergazdai hozzáférést biztosít a függvényalkalmazáshoz. Ne ossza meg ezt a kulcsot harmadik felekkel, és ne ossza meg natív ügyfélalkalmazásokban.

További információ: A hozzáférési kulcsok használata az Azure Functionsben.

A rendszerkulcsot a függvényalkalmazásból az alábbi rendszergazdai API-k (HTTP GET) használatával szerezheti be:

http://{functionappname}.azurewebsites.net/admin/host/systemkeys/eventgrid_extension?code={masterkey}

Ez a REST API egy rendszergazdai API, ezért a függvényalkalmazás főkulcsára van szükség. Ne keverje össze a rendszerkulcsot (eseményrács-triggerfüggvény meghívásához) a fő kulccsal (a függvényalkalmazás felügyeleti feladatainak elvégzéséhez). Amikor előfizet egy Event Grid-témakörre, mindenképpen használja a rendszerkulcsot.

Íme egy példa a rendszerkulcsot biztosító válaszra:

{
  "name": "eventgridextensionconfig_extension",
  "value": "{the system key for the function}",
  "links": [
    {
      "rel": "self",
      "href": "{the URL for the function, without the system key}"
    }
  ]
}

A feliratkozás létrehozása

Esemény-előfizetést az Azure Portalon vagy az Azure CLI használatával hozhat létre.

Az Azure Portalon az Event Grid-eseményindítóval fejlesztett függvények esetében válassza az Integráció lehetőséget, majd az Event Grid-eseményindítót , majd az Event Grid-előfizetés létrehozása lehetőséget.

Képernyőkép egy új esemény-előfizetéshez való csatlakozásról a portálon való aktiváláshoz.

Ha ezt a hivatkozást választja, a portál megnyitja az Esemény-előfizetés létrehozása lapot, amelyen már meg van adva az aktuális triggervégpont.

Képernyőkép egy esemény-előfizetés létrehozásáról a már definiált függvényvégponttal.

További információ az előfizetések Azure Portallal történő létrehozásáról: Egyéni esemény létrehozása – Azure Portal az Event Grid dokumentációjában.

Az előfizetés létrehozásával kapcsolatos további információkért tekintse meg a Blob Storage rövid útmutatóját vagy az Event Grid egyéb rövid útmutatóit.

Helyi tesztelés megtekintő webalkalmazással

Az Event Grid-eseményindító helyi teszteléséhez le kell kérnie az Event Grid HTTP-kéréseit a felhőben található forrásból a helyi gépre. Ennek egyik módja, ha online rögzíti a kéréseket, és manuálisan újraküldi őket a helyi gépen:

  1. Eseményüzeneteket rögzítő megjelenítő webalkalmazás létrehozása.
  2. Hozzon létre egy Event Grid-előfizetést , amely eseményeket küld a megtekintő alkalmazásnak.
  3. Hozzon létre egy kérést , és másolja a kérelem törzsét a megtekintő alkalmazásból.
  4. Manuálisan tegye közzé a kérést az Event Grid-eseményindító függvény localhost URL-címére.

HTTP-közzétételi kérés küldéséhez HTTP-teszteszközre van szükség. Ügyeljen arra, hogy olyan eszközt válasszon, amely biztonságosan tartja az adatokat. További információ: HTTP-teszteszközök.

Ha végzett a teszteléssel, ugyanazt az előfizetést használhatja éles környezetben a végpont frissítésével. Használja az az eventgrid event-subscription update Azure CLI parancsot.

Megtekintő webalkalmazás létrehozása

Az eseményüzenetek rögzítésének egyszerűsítése érdekében üzembe helyezhet egy előre elkészített webalkalmazást , amely megjeleníti az eseményüzeneteket. Az üzembe helyezett megoldás egy App Service-csomagot, egy App Service-webalkalmazást és egy, a GitHubról származó forráskódot tartalmaz.

A megoldásnak az előfizetésébe való telepítéséhez válassza az Üzembe helyezés az Azure-ban lehetőséget. Az Azure Portalon adjon meg értékeket a paraméterekhez.

Gomb a Resource Manager-sablon Azure-ban való üzembe helyezéséhez.

Az üzembe helyezés befejezése eltarthat néhány percig. A sikeres üzembe helyezést követően tekintse meg a webalkalmazást, hogy meggyőződjön annak működéséről. Egy webböngészőben navigáljon a következő helyre: https://<your-site-name>.azurewebsites.net.

A hely látható, de még nem lett közzétéve esemény.

Új hely megtekintése

Event Grid-előfizetés létrehozása

Hozzon létre egy tesztelni kívánt típusú Event Grid-előfizetést, és adja meg a webalkalmazás URL-címét az eseményértesítés végpontjaként. A webalkalmazás végpontjának az /api/updates/ utótagot kell tartalmaznia. A teljes URL-cím tehát https://<your-site-name>.azurewebsites.net/api/updates

Az előfizetések Azure Portallal történő létrehozásáról az Egyéni esemény létrehozása – Azure Portal című témakörben olvashat az Event Grid dokumentációjában.

Kérés létrehozása

Esemény aktiválása, amely HTTP-forgalmat generál a webalkalmazás végpontja felé. Ha például blobtároló-előfizetést hozott létre, töltsön fel vagy töröljön egy blobot. Amikor megjelenik egy kérés a webalkalmazásban, másolja ki a kérelem törzsét.

Az előfizetés érvényesítési kérése először érkezik meg; figyelmen kívül hagyja az érvényesítési kéréseket, és másolja ki az eseménykérelmet.

Kérelem törzsének másolása webalkalmazásból

A kérés manuális közzététele

Futtassa helyileg az Event Grid függvényt. A Content-Type fejléceket és aeg-event-type a fejléceket manuálisan kell beállítani, míg az összes többi érték alapértelmezettként hagyható.

HTTP POST-kérés létrehozása a HTTP-teszteszköz használatával:

  • Content-Type: application/json Fejléc beállítása.

  • aeg-event-type: Notification Fejléc beállítása.

  • Illessze be a RequestBin-adatokat a kérelem törzsébe.

  • HTTP POST-kérés küldése a végpontnak, amely manuálisan indítja el az Event Grid-eseményindítót.

    http://localhost:7071/runtime/webhooks/eventgrid?functionName={FUNCTION_NAME}
    

A functionName paraméternek az attribútumban FunctionName megadott névnek kell lennie.

Az Event Grid eseményindító függvény az alábbi példához hasonló naplókat hajt végre és jelenít meg:

Event Grid-eseményindító-függvénynaplók mintája

Következő lépések

Az Event Grid és a Functions szolgáltatással kapcsolatos további információkért tekintse meg az alábbi cikkeket: