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 dataType
function.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 stream
string
.
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
ésout
- Egyes kötések speciális irányt
inout
támogatnak. Ha használjainout
, 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
- Kötési kifejezések és minták
- Az Azure-függvény visszatérési értékének használata
- Kötési kifejezés regisztrálása
- Vizsgálat:
- Kötési hibák kezelése