Azure Functions-eseményindítók és -kötések – fogalmak

Ebben a cikkben megismerheti a függvények eseményindítóit és kötéseit körülvevő magas szintű fogalmakat.

Az eseményindítók egy függvény futtatását okozzák. A trigger defines how a function is invoked and a function must have exactly one trigger. Triggers have associated data, which is often provided as the payload of the function.

A függvényhez való kötéssel deklaratív módon csatlakoztathat egy másik erőforrást a függvényhez; a kötések bemeneti kötésként, kimeneti kötésként vagy mindkettőként csatlakoztathatók. Data from bindings is provided to the function as parameters.

A különböző kötéseket igény szerint kombinálhatja. A kötések opcionálisak, és egy függvény egy vagy több bemeneti, illetve kimeneti kötéssel is rendelkezhet.

Az eseményindítók és kötések segítségével elkerülheti a más szolgáltatásokhoz való hozzáférés korlátozását. A függvény függvényparaméterekben kapja meg az adatokat (például egy üzenetsor üzenetének tartalmát). Az adatokat (például egy üzenetsor üzenetének tartalmát) a függvény által visszaadott értékek használatával küldheti el.

Tekintse meg az alábbi példákat arra, hogyan implementálhat különböző függvényeket.

Példaforgatókönyv Eseményindító Bemeneti kötés Kimeneti kötés
Megérkezik egy új üzenetsor, amely egy függvényt futtat egy másik üzenetsorba való íráshoz. Várólista* Nincs Várólista*
Egy ütemezett feladat beolvassa a Blob Storage tartalmát, és létrehoz egy új Azure Cosmos DB-dokumentumot. Időzítő Blob Storage Azure Cosmos DB
Az Event Grid a Blob Storage-ból származó kép és az Azure Cosmos DB-ből származó dokumentumok olvasására szolgál e-mail küldéséhez. Event Grid Blob Storage és Azure Cosmos DB SendGrid
Egy webhook, amely a Microsoft Graph használatával frissít egy Excel-munkalapot. HTTP Nincs Microsoft Graph

* Különböző üzenetsorokat jelöl

Ezek a példák nem a teljesség igénye nélkül, hanem az eseményindítók és kötések együttes használatának szemléltetésére szolgálnak.

Trigger- és kötésdefiníciók

Az eseményindítók és kötések a fejlesztési nyelvtől függően eltérően vannak definiálva.

Nyelv Az eseményindítókat és kötéseket a...
C#-osztálykódtár      metódusok és paraméterek dekorálása C# attribútumokkal
Java      Metódusok és paraméterek dekorálása Java-széljegyzetekkel
JavaScript/PowerShell/Python/TypeScript      function.json frissítése (séma)

A function.json-alapú nyelvek esetében a portál egy felhasználói felületet biztosít a kötések hozzáadásához az Integráció lapon. A fájlt közvetlenül a portálon is szerkesztheti a függvény Kód + teszt lapján. A Visual Studio Code segítségével egyszerűen hozzáadhat kötést egy function.json fájlhoz egy kényelmes kérések követésével.

A .NET-ben és a Java-ban a paramétertípus határozza meg a bemeneti adatok adattípusát. Használhatja például string egy üzenetsor-eseményindító szövegéhez való kötést, egy binárisként olvasható bájttömböt és egy egyéni típust egy objektum szerializálásának megszüntetéséhez. Mivel a .NET-osztálytárfüggvények és a Java-függvények nem függenek a function.json függvénnyel a kötésdefiníciókhoz, nem hozhatók létre és szerkeszthetők a portálon. A C# portálszerkesztése C# szkripten alapul, amely attribútumok helyett function.json parancsot használ.

Ha többet szeretne megtudni arról, hogyan adhat hozzá kötéseket a meglévő függvényekhez, tekintse meg Csatlakozás függvényeket az Azure-szolgáltatásokhoz kötésekkel.

A dinamikusan beírt nyelveknél, például a JavaScriptnél használja a dataTypefunction.json fájl tulajdonságát . Ha például egy HTTP-kérelem tartalmát bináris formátumban szeretné olvasni, állítsa a dataType következőre binary:

{
    "dataType": "binary",
    "type": "httpTrigger",
    "name": "req",
    "direction": "in"
}

Egyéb lehetőségek a következőkre dataType és streamstring.

Kötés iránya

Minden eseményindítónak és kötésnek van egy direction tulajdonsága a function.json fájlban:

  • Az eseményindítók esetében az irány mindig in
  • Bemeneti és kimeneti kötések használata in és out
  • Egyes kötések speciális irányt inouttámogatnak. Ha használja inout, csak a Speciális szerkesztő érhető el a portál Integrálás lapján.

Ha attribútumokat használ egy osztálytárban az eseményindítók és kötések konfigurálásához, az irányt egy attribútumkonstruktor adja meg, vagy a paramétertípusból következtet.

Kötések hozzáadása függvényhez

A függvényt bemeneti vagy kimeneti kötések használatával csatlakoztathatja más szolgáltatásokhoz. Adjon hozzá egy kötést úgy, hogy hozzáadja annak meghatározott definícióit a függvényhez. További információ: Kötések hozzáadása meglévő függvényekhez az Azure Functionsben.

Támogatott kötések

Ez a táblázat az Azure Functions-futtatókörnyezet fő verzióiban támogatott kötéseket mutatja be:

Típus 1.x1 2.x és magasabb2 Eseményindító Bevitel Hozam
Blob Storage
Azure Cosmos DB
Azure Data Explorer
Azure SQL
Dapr4
Event Grid
Event Hubs
HTTP > webhookok
IoT hub
Kafka3
Mobile Apps
Értesítési központ
Queue Storage
Redis
RabbitMQ3
SendGrid
Szolgáltatásbusz
SignalR
Table Storage
Időzítő
Twilio

1Az Azure Functions-futtatókörnyezet 1.x verziójának támogatása 2026. szeptember 14-én megszűnik. Javasoljuk, hogy a teljes támogatás érdekében migrálja az alkalmazásokat a 4.x-es verzióra.

2 A 2.x-es futtatókörnyezettől kezdve a HTTP és az Időzítő kivételével minden kötést regisztrálni kell. Lásd: Kötésbővítmények regisztrálása.

3 Az eseményindítók nem támogatottak a Használati tervben. Futásidejű eseményindítókat igényel.

4 Csak a Kubernetesben, az IoT Edge-ben és más saját üzemeltetésű módokban támogatott.

További információ arról, hogy mely kötések vannak előzetes verzióban, vagy melyeket hagytak jóvá éles használatra, lásd a támogatott nyelveket.

Az egyes kötésbővítmény-verziók csak akkor támogatottak, ha a mögöttes szolgáltatás SDK támogatott. A mögöttes szolgáltatás SDK-verziójának támogatása hatással van a fogyasztó bővítmény támogatására.

Bindings code examples

Az alábbi táblázat olyan konkrét kötéstípusokra mutat be példákat, amelyek bemutatják, hogyan dolgozhat kötésekkel a függvényekben. Először válassza ki a projektnek megfelelő nyelvi lapot.

A C# kötéskódja az adott folyamatmodelltől függ.

Service Példák Samples
Blob storage Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Cosmos DB Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Data Explorer Input (Bemenet)
Hozam
Láncszem
Azure SQL Eseményindító
Input (Bemenet)
Hozam
Láncszem
Event Grid Eseményindító
Hozam
Láncszem
Event Hubs Eseményindító
Hozam
IoT hub Eseményindító
Hozam
HTTP Eseményindító Láncszem
Queue Storage Eseményindító
Hozam
Láncszem
RabbitMQ Eseményindító
Hozam
SendGrid Hozam
Service Bus Eseményindító
Hozam
Láncszem
SignalR Eseményindító
Input (Bemenet)
Hozam
Table Storage Input (Bemenet)
Hozam
Időzítő Eseményindító Láncszem
Twilio Hozam Láncszem
Service Példák Samples
Blob storage Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Cosmos DB Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Data Explorer Input (Bemenet)
Hozam
Láncszem
Azure SQL Eseményindító
Input (Bemenet)
Hozam
Event Grid Eseményindító
Hozam
Láncszem
Event Hubs Eseményindító
Hozam
IoT hub Eseményindító
Hozam
HTTP Eseményindító Láncszem
Queue Storage Eseményindító
Hozam
Láncszem
RabbitMQ Eseményindító
Hozam
SendGrid Hozam
Service Bus Eseményindító
Hozam
Láncszem
SignalR Eseményindító
Input (Bemenet)
Hozam
Table Storage Input (Bemenet)
Hozam
Időzítő Eseményindító Láncszem
Twilio Hozam Láncszem
Service Példák Samples
Blob storage Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Cosmos DB Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Data Explorer Input (Bemenet)
Hozam
Azure SQL Eseményindító
Input (Bemenet)
Hozam
Láncszem
Event Grid Eseményindító
Hozam
Láncszem
Event Hubs Eseményindító
Hozam
IoT hub Eseményindító
Hozam
HTTP Eseményindító Láncszem
Queue Storage Eseményindító
Hozam
Láncszem
RabbitMQ Eseményindító
Hozam
SendGrid Hozam
Service Bus Eseményindító
Hozam
Láncszem
SignalR Eseményindító
Input (Bemenet)
Hozam
Table Storage Input (Bemenet)
Hozam
Időzítő Eseményindító Láncszem
Twilio Hozam Láncszem
Service Példák Samples
Blob storage Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Cosmos DB Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure SQL Eseményindító
Input (Bemenet)
Hozam
Event Grid Eseményindító
Hozam
Láncszem
Event Hubs Eseményindító
Hozam
IoT hub Eseményindító
Hozam
HTTP Eseményindító Láncszem
Queue Storage Eseményindító
Hozam
Láncszem
RabbitMQ Eseményindító
Hozam
SendGrid Hozam
Service Bus Eseményindító
Hozam
Láncszem
SignalR Eseményindító
Input (Bemenet)
Hozam
Table Storage Input (Bemenet)
Hozam
Időzítő Eseményindító Láncszem
Twilio Hozam Láncszem

A Python kötéskódja a Python-modell verziójától függ.

Service Példák Samples
Blob storage Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Cosmos DB Eseményindító
Input (Bemenet)
Hozam
Láncszem
Azure Data Explorer Input (Bemenet)
Hozam
Azure SQL Eseményindító
Input (Bemenet)
Hozam
Láncszem
Event Grid Eseményindító
Hozam
Láncszem
Event Hubs Eseményindító
Hozam
IoT hub Eseményindító
Hozam
HTTP Eseményindító Láncszem
Queue Storage Eseményindító
Hozam
Láncszem
RabbitMQ Eseményindító
Hozam
SendGrid Hozam
Service Bus Eseményindító
Hozam
Láncszem
SignalR Eseményindító
Input (Bemenet)
Hozam
Table Storage Input (Bemenet)
Hozam
Időzítő Eseményindító Láncszem
Twilio Hozam Láncszem

Egyéni kötések

Létrehozhat egyéni bemeneti és kimeneti kötéseket. A kötéseket a .NET-ben kell megszerkesíteni, de bármely támogatott nyelvről felhasználhatók. Az egyéni kötések létrehozásával kapcsolatos további információkért lásd: Egyéni bemeneti és kimeneti kötések létrehozása.

Források

További lépések