Azure Event Grid-kötések az Azure Functionshez

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

Az Event Grid-bővítmény egy bővítménycsomag része, amely a host.json projektfájlban van megadva. Előfordulhat, hogy módosítania kell ezt a csomagot az Event Grid-kötés verziójának módosításához, vagy ha a csomagok még nincsenek telepítve. További információkért tekintse meg a bővítménycsomagot.

A bővítménynek ezt a verzióját a 3. verziójú bővítménycsomagból is hozzáadhatja, ha hozzáadja vagy lecseréli a következő konfigurációt a host.json fájlban:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[3.3.0, 4.0.0)"
    }
}

További információ: Bővítmények frissítése.

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 közvetlenül hozzon létre és használjon típusokat az Azure.Messaging.EventGrid szolgáltatásból.

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