Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a hivatkozás bemutatja, hogyan csatlakozhat az Azure Event Gridhez az Azure Functions-eseményindítók és kötések használatával.
Az Event Grid egy Azure-szolgáltatás, amely HTTP-kéréseket küld, hogy értesítést küldjön a közzétevőkben bekövetkező eseményekről. A közzétevő az eseményt létrehozó szolgáltatás vagy erőforrás. Az Azure Blob Storage-fiók például közzétevő, a blobfeltöltés vagy -törlés pedig esemény. Egyes Azure-szolgáltatások beépített támogatást nyújtanak az események Event Gridben való közzétételéhez.
Az eseménykezelők eseményeket fogadnak és dolgoznak fel. Az Azure Functions egyike azon Azure-szolgáltatásoknak , amelyek beépített támogatást nyújtanak az Event Grid-események kezeléséhez. A Functions egy Event Grid-eseményindítót biztosít, amely meghív egy függvényt, amikor esemény érkezik az Event Gridtől. Hasonló kimeneti kötéssel eseményeket küldhet a függvényből egy egyéni Event Grid-témakörbe.
Http-eseményindítóval is kezelheti az Event Grid-eseményeket. További információ: Események fogadása HTTP-végpontra. Azt javasoljuk, hogy az Event Grid-eseményindítót HTTP-eseményindítón keresztül használja.
| Művelet | Típus |
|---|---|
| Függvény futtatása Event Grid-esemény küldésekor | Eseményindító |
| Event Grid-esemény küldése | Kimeneti kötés |
| A visszaadott HTTP-állapotkód szabályozása | HTTP-végpont |
A bővítmény telepítése
A telepített NuGet-csomag a függvényalkalmazásban használt C# módtól függ:
A függvények izolált C# feldolgozói folyamatban futnak. További információ: Útmutató a C# Azure Functions izolált feldolgozói folyamatban való futtatásához.
A bővítmény funkciói a bővítmény verziójától függően változnak:
Adja hozzá a bővítményt a projekthez a NuGet-csomag 3.x-es verziójának telepítésével.
Csomag telepítése
Ha használni szeretné ezt a kötéskiterjesztést az alkalmazásban, győződjön meg arról, hogy a projekt gyökerében található host.json fájl tartalmazza a extensionBundle következő hivatkozást:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Ebben a példában az version érték [4.0.0, 5.0.0) arra utasítja a Functions-gazdagépet, hogy 4.0.0 legalább, de annál kisebb 5.0.0csomagverziót használjon, amely tartalmazza a 4.x összes lehetséges verzióját. Ez a jelölés hatékonyan fenntartja az alkalmazást a v4.x bővítménycsomag legújabb elérhető alverzióján.
Ha lehetséges, a legújabb bővítménycsomag főverziót kell használnia, és engedélyeznie kell, hogy a futtatókörnyezet automatikusan fenntartsa a legújabb alverziót. A legújabb csomag tartalmát a bővítménykötegek kiadási oldalán tekintheti meg. További információ: Azure Functions-bővítménykötegek.
Az Event Grid-bővítmény szempontjai:
- A 3.x-nél korábbi Event Grid-bővítményverziók nem támogatják a CloudEvents-sémát. A séma használatához használjon inkább HTTP-eseményindítót.
- Az Event Grid kimeneti kötése csak a Functions 2.x és újabb verziókhoz érhető el.
Kötéstípusok
A .NET-hez támogatott kötéstípusok a bővítményverziótól és a C# végrehajtási módtól is függenek, ami az alábbiak egyike lehet:
A C# függvényt lefordított izolált feldolgozói folyamatosztály-kódtár a futtatókörnyezettől elkülönített folyamatban fut.
Válasszon ki egy verziót a mód és a verzió kötéstípusának részleteinek megtekintéséhez.
Az izolált feldolgozó folyamat az alábbi táblázatoknak megfelelően támogatja a paramétertípusokat. Az Azure.Messaginghez való kötés Streamés a típusok támogatása előzetes verzióban érhető el.
Event Grid-eseményindító
Ha azt szeretné, hogy a függvény egyetlen eseményt dolgoz fel, az Event Grid-eseményindító a következő típusokhoz kapcsolódhat:
| Típus | Leírás |
|---|---|
| JSON szerializálható típusok | A Functions megpróbálja deszerializálni az esemény JSON-adatait egy egyszerű régi CLR-objektum (POCO) típusba. |
string |
Az esemény sztringként. |
| BinaryData1 | Az eseményüzenet bájtja. |
| CloudEvent1 | Az eseményobjektum. Akkor használható, ha az Event Grid a CloudEvents sémával történő kézbesítésre van konfigurálva. |
| EventGridEvent1 | Az eseményobjektum. Akkor használható, ha az Event Grid az Event Grid-sémával történő kézbesítésre van konfigurálva. |
Ha azt szeretné, hogy a függvény feldolgozza az események kötegét, az Event Grid-eseményindító a következő típusokhoz köthet:
| Típus | Leírás |
|---|---|
CloudEvent[]
1,EventGridEvent[]
1,string[],BinaryData[]
1 |
A kötegből származó események tömbje. Minden bejegyzés egy eseményt jelöl. |
1 Ezeknek a típusoknak a használatához hivatkoznia kell a Microsoft.Azure.Functions.Worker.Extensions.EventGrid 3.3.0-s vagy újabb verziójára, valamint az SDK-típuskötések gyakori függőségeire.
Event Grid kimeneti kötés
Ha azt szeretné, hogy a függvény egyetlen eseményt írjon, az Event Grid kimeneti kötése a következő típusokhoz köthet:
| Típus | Leírás |
|---|---|
string |
Az esemény sztringként. |
byte[] |
Az eseményüzenet bájtja. |
| JSON szerializálható típusok | JSON-eseményt jelképező objektum. A Functions egy egyszerű régi CLR-objektum (POCO) típust próbál JSON-adatokká szerializálni. |
Ha azt szeretné, hogy a függvény több eseményt írjon, az Event Grid kimeneti kötése a következő típusokhoz köthet:
| Típus | Leírás |
|---|---|
T[] ahol T az egyik egyetlen eseménytípus |
Több eseményt tartalmazó tömb. Minden bejegyzés egy eseményt jelöl. |
Egyéb kimeneti forgatókönyvek esetén hozzon létre és használjon egy EventGridPublisherClientet az Azure.Messaging.EventGrid más típusaival közvetlenül. Tekintse meg az Azure-ügyfelek regisztrálását a függőséginjektálás használatával egy ügyféltípus Azure SDK-ból való létrehozásához.
host.json beállítások
Az Event Grid-eseményindító webhook HTTP-kérést használ, amely a HTTP-eseményindítóval azonos host.json beállításokkal konfigurálható.
Következő lépések
- Ha kérdése van, küldje el a problémát a csapatnak itt
- Event Grid-eseményindító
- Event Grid kimeneti kötés
- Függvény futtatása Event Grid-esemény küldésekor
- Event Grid-esemény küldése