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


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

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