Azure Functions-eseményindítók és -kötések – fogalmakAzure Functions triggers and bindings concepts

Ebből a cikkből megtudhatja, hogy milyen magas szintű fogalmakat indít a functions-eseményindítók és-kötések.In this article you learn the high-level concepts surrounding functions triggers and bindings.

Az eseményindítók a függvény futtatását okozzák.Triggers are what cause a function to run. Egy eseményindító határozza meg a függvény meghívásának módját, és a függvénynek pontosan egy eseményindítóval kell rendelkeznie.A trigger defines how a function is invoked and a function must have exactly one trigger. A triggerekhez társított adatok tartoznak, amelyek gyakran a függvény hasznos adataiként vannak megadva.Triggers have associated data, which is often provided as the payload of the function.

A függvények kötése egy másik erőforrás a függvényhez való deklaratív csatlakoztatásának módja. a kötések bemeneti Kötésként, kimeneti Kötésként vagy mindkettőként is csatlakoztathatók.Binding to a function is a way of declaratively connecting another resource to the function; bindings may be connected as input bindings, output bindings, or both. A kötések adatai a függvények számára paraméterekként vannak megadva.Data from bindings is provided to the function as parameters.

A különböző kötéseket igény szerint kombinálhatja.You can mix and match different bindings to suit your needs. A kötések opcionálisak, és egy függvény egy vagy több bemeneti, illetve kimeneti kötéssel is rendelkezhet.Bindings are optional and a function might have one or multiple input and/or output bindings.

Az eseményindítók és kötések lehetővé teszik a más szolgáltatásokhoz való rögzítjük való hozzáférés elkerülését.Triggers and bindings let you avoid hardcoding access to other services. A függvény függvényparaméterekben kapja meg az adatokat (például egy üzenetsor üzenetének tartalmát).Your function receives data (for example, the content of a queue message) in function parameters. 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.You send data (for example, to create a queue message) by using the return value of the function.

Tekintse át az alábbi példákat a különböző függvények megvalósítására.Consider the following examples of how you could implement different functions.

PéldaforgatókönyvExample scenario EseményindítóTrigger Bemeneti kötésInput binding Kimeneti kötésOutput binding
Egy új üzenetsor-üzenet érkezik, amely egy függvény futtatásával ír egy másik várólistára.A new queue message arrives which runs a function to write to another queue. Várólista*Queue* NincsNone Várólista*Queue*
Az ütemezett feladatok beolvassák Blob Storage tartalmát, és létrehoz egy új Cosmos DB dokumentumot.A scheduled job reads Blob Storage contents and creates a new Cosmos DB document. IdőzítőTimer Blob StorageBlob Storage Cosmos DBCosmos DB
A Event Grid egy rendszerképet olvas be a Blob Storageról, és a Cosmos DB dokumentumból küld e-mailt.The Event Grid is used to read an image from Blob Storage and a document from Cosmos DB to send an email. Event GridEvent Grid Blob Storage és Cosmos DBBlob Storage and Cosmos DB SendGridSendGrid
Egy webhook, amely Microsoft Grapht használ az Excel-lapok frissítéséhez.A webhook that uses Microsoft Graph to update an Excel sheet. HTTPHTTP NincsNone Microsoft GraphMicrosoft Graph

* Különböző várólistákat jelöl* Represents different queues

Ezek a példák nem teljes körűek, de az eseményindítók és kötések együttes használatának szemléltetésére szolgálnak.These examples are not meant to be exhaustive, but are provided to illustrate how you can use triggers and bindings together.

Trigger-és kötési definíciókTrigger and binding definitions

Az eseményindítók és kötések a fejlesztési nyelvtől függően eltérő módon vannak definiálva.Triggers and bindings are defined differently depending on the development language.

NyelvLanguage Az eseményindítók és kötések konfigurálása...Triggers and bindings are configured by...
C# osztály könyvtáraC# class library      díszítő módszerek és paraméterek C#-attribútumokkal     decorating methods and parameters with C# attributes
JavaJava      díszítő módszerek és paraméterek Java-megjegyzésekkel     decorating methods and parameters with Java annotations
JavaScript/PowerShell/Python/írógéppelJavaScript/PowerShell/Python/TypeScript      function.js frissítése (séma)     updating function.json (schema)

Az function.js-on alapuló nyelveken a portál a kötések hozzáadására szolgáló felhasználói felületet biztosít az integráció lapon. A fájlt közvetlenül a portálon is szerkesztheti a függvény kód + teszt lapján.For languages that rely on function.json, the portal provides a UI for adding bindings in the Integration tab. You can also edit the file directly in the portal in the Code + test tab of your function. A Visual Studio Code segítségével egyszerűen adhat hozzá egy kötést egy function.jsfájlhoz , ha a promptok kényelmes készletét követi.Visual Studio Code lets you easily add a binding to a function.json file by following a convenient set of prompts.

A .NET-ben és a Java-ban a paraméter típusa határozza meg a bemeneti adatok adattípusát.In .NET and Java, the parameter type defines the data type for input data. Például a paranccsal string kötést lehet létrehozni egy üzenetsor-trigger, egy bájtos tömb, amely bináris fájlként olvasható, valamint egy objektumra deszerializálható egyéni típus.For instance, use string to bind to the text of a queue trigger, a byte array to read as binary, and a custom type to de-serialize to an object. Mivel a .NET-osztály függvénytár-függvények és a Java-függvények nem a kötési definíciók function.jsra támaszkodnak, nem hozhatók létre és nem szerkeszthetők a portálon.Since .NET class library functions and Java functions don't rely on function.json for binding definitions, they can't be created and edited in the portal. A c#-portál szerkesztése C#-parancsfájlon alapul, amely az attribútumok helyett function.jst használ.C# portal editing is based on C# script, which uses function.json instead of attributes.

A kötések meglévő függvényekbe való hozzáadásával kapcsolatos további információkért lásd: függvények összekapcsolását az Azure-szolgáltatásokhoz kötések használatával.To learn more about how to adding bindings to existing functions, see Connect functions to Azure services using bindings.

A dinamikusan beírt nyelvek (például JavaScript) esetében használja a dataType function.js fájljában található tulajdonságot.For languages that are dynamically typed such as JavaScript, use the dataType property in the function.json file. Ha például bináris formátumban szeretné beolvasni egy HTTP-kérelem tartalmát, állítsa a következőre dataType binary :For example, to read the content of an HTTP request in binary format, set dataType to binary:

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

A és a további beállításai dataType stream string .Other options for dataType are stream and string.

Kötési irányBinding direction

Minden eseményindító és kötés rendelkezik egy direction tulajdonsággal a (z) function.js fájlban:All triggers and bindings have a direction property in the function.json file:

  • Az eseményindítók esetében az irány mindig inFor triggers, the direction is always in
  • A bemeneti és kimeneti kötések használata in és outInput and output bindings use in and out
  • Egyes kötések speciális irányt támogatnak inout .Some bindings support a special direction inout. A használata esetén inout csak a speciális szerkesztő érhető el a portál integrálás lapján.If you use inout, only the Advanced editor is available via the Integrate tab in the portal.

Ha az attribútumokat egy osztály-függvénytárban konfigurálja az eseményindítók és kötések konfigurálásához, az irány egy attribútum konstruktorában van megadva, vagy a paraméter típusa alapján következtethető ki.When you use attributes in a class library to configure triggers and bindings, the direction is provided in an attribute constructor or inferred from the parameter type.

Kötések hozzáadása egy függvényhezAdd bindings to a function

A függvényt a bemeneti vagy kimeneti kötések használatával más szolgáltatásokhoz is összekapcsolhatjuk.You can connect your function to other services by using input or output bindings. Adja hozzá a kötést úgy, hogy hozzáadja a függvényhez tartozó konkrét definíciókat.Add a binding by adding its specific definitions to your function. További információ: kötések hozzáadása meglévő függvényhez Azure functions.To learn how, see Add bindings to an existing function in Azure Functions.

Támogatott kötésekSupported bindings

Ez a táblázat a Azure Functions futtatókörnyezet főbb verzióiban támogatott kötéseket mutatja be:This table shows the bindings that are supported in the major versions of the Azure Functions runtime:

TípusType 1. x1.x 2. x és újabb12.x and higher1 EseményindítóTrigger Input (Bemenet)Input KimenetOutput
Blob StorageBlob storage
Azure Cosmos DBAzure Cosmos DB
3 . DaprDapr3
Event GridEvent Grid
Event HubsEvent Hubs
HTTP & webhookokHTTP & webhooks
IoT HubIoT Hub
Kafka2Kafka2
Mobile AppsMobile Apps
Notification HubsNotification Hubs
Queue StorageQueue storage
2 . RabbitMQRabbitMQ2
SendGridSendGrid
SzolgáltatásbuszService Bus
SignalRSignalR
Table StorageTable storage
IdőzítőTimer
TwilioTwilio

1 a 2. x verziótól kezdődően a http és az időzítő kivételével minden kötést regisztrálni kell.1 Starting with the version 2.x runtime, all bindings except HTTP and Timer must be registered. Lásd: kötési bővítmények regisztrálása.See Register binding extensions.

2 eseményindító nem támogatott a használati tervben.2 Triggers aren't supported in the Consumption plan. Futtatókörnyezet által vezérelt eseményindítókszükségesek.Requires runtime-driven triggers.

3 csak Kubernetes, IoT Edge és más, saját üzemeltetésű módban támogatott.3 Supported only in Kubernetes, IoT Edge, and other self-hosted modes only.

További információ arról, hogy mely kötések érhetők el előzetes verzióban, vagy hogy a rendszer az éles használatra jóváhagyja a támogatott nyelveket.For information about which bindings are in preview or are approved for production use, see Supported languages.

Példák a kötések kódjáraBindings code examples

A következő táblázat példákat mutat be bizonyos kötési típusokra, amelyek bemutatják, hogyan használhatók a függvények kötései.Use the following table to find examples of specific binding types that show you how to work with bindings in your functions. Először válassza ki a projektnek megfelelő nyelv fület.First, choose the language tab that corresponds to your project.

SzolgáltatásService PéldákExamples PéldákSamples
Blob StorageBlob storage EseményindítóTrigger
BevitelInput
KimenetOutput
HivatkozásLink
Azure Cosmos DBAzure Cosmos DB EseményindítóTrigger
BevitelInput
KimenetOutput
HivatkozásLink
Event GridEvent Grid EseményindítóTrigger
KimenetOutput
HivatkozásLink
Event HubsEvent Hubs EseményindítóTrigger
KimenetOutput
IoT HubIoT Hub EseményindítóTrigger
KimenetOutput
HTTPHTTP EseményindítóTrigger HivatkozásLink
Queue StorageQueue storage EseményindítóTrigger
KimenetOutput
HivatkozásLink
RabbitMQRabbitMQ EseményindítóTrigger
KimenetOutput
SendGridSendGrid KimenetOutput
Service BusService Bus EseményindítóTrigger
KimenetOutput
HivatkozásLink
SignalRSignalR EseményindítóTrigger
BevitelInput
KimenetOutput
Table StorageTable storage BevitelInput
KimenetOutput
IdőzítőTimer EseményindítóTrigger HivatkozásLink
TwilioTwilio KimenetOutput HivatkozásLink

Egyéni kötésekCustom bindings

Létrehozhat egyéni bemeneti és kimeneti kötéseket is.You can create custom input and output bindings. A kötéseket a .NET-ben kell létrehozni, de bármilyen támogatott nyelvről felhasználhatók.Bindings must be authored in .NET, but can be consumed from any supported language. 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.For more information about creating custom bindings, see Creating custom input and output bindings.

ForrásokResources

Következő lépésekNext steps