Concepten van Azure Functions triggers en bindingenAzure Functions triggers and bindings concepts

In dit artikel vindt u informatie over de concepten van het hoge niveau rond functies triggers en bindingen.In this article you learn the high-level concepts surrounding functions triggers and bindings.

Triggers zijn de oorzaak dat een functie wordt uitgevoerd.Triggers are what cause a function to run. Een trigger definieert hoe een functie wordt aangeroepen en een functie moet precies één trigger hebben.A trigger defines how a function is invoked and a function must have exactly one trigger. Triggers hebben gekoppelde gegevens, wat vaak wordt gegeven als de payload van de functie.Triggers have associated data, which is often provided as the payload of the function.

Een binding met een functie is een manier om een andere resource declaratief aan de functie te koppelen. bindingen kunnen worden verbonden als invoer bindingen, uitvoer bindingenof beide.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. Gegevens van bindingen worden aan de functie door gegeven als para meters.Data from bindings is provided to the function as parameters.

U kunt verschillende bindingen combi neren en vergelijken met uw behoeften.You can mix and match different bindings to suit your needs. Bindingen zijn optioneel en een functie kan een of meerdere invoer-en/of uitvoer bindingen hebben.Bindings are optional and a function might have one or multiple input and/or output bindings.

Met triggers en bindingen kunt u hardcoding toegang tot andere services voor komen.Triggers and bindings let you avoid hardcoding access to other services. De functie ontvangt gegevens (bijvoorbeeld de inhoud van een wachtrij bericht) in functie parameters.Your function receives data (for example, the content of a queue message) in function parameters. U verzendt gegevens (bijvoorbeeld om een wachtrij bericht te maken) met behulp van de geretourneerde waarde van de functie.You send data (for example, to create a queue message) by using the return value of the function.

Bekijk de volgende voor beelden van hoe u verschillende functies kunt implementeren.Consider the following examples of how you could implement different functions.

VoorbeeldscenarioExample scenario TriggerTrigger Invoer bindingInput binding Uitvoer bindingOutput binding
Er wordt een nieuw wachtrij bericht ontvangen waarmee een functie wordt uitgevoerd om naar een andere wachtrij te schrijven.A new queue message arrives which runs a function to write to another queue. Wachtrij*Queue* GeenNone Wachtrij*Queue*
Met een geplande taak wordt Blob Storage inhoud gelezen en wordt er een nieuw Cosmos DB document gemaakt.A scheduled job reads Blob Storage contents and creates a new Cosmos DB document. TimerTimer Blob-opslagBlob Storage Cosmos DBCosmos DB
De Event Grid wordt gebruikt voor het lezen van een afbeelding van Blob Storage en een document van Cosmos DB om een e-mail bericht te verzenden.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 en Cosmos DBBlob Storage and Cosmos DB SendGridSendGrid
Een webhook die gebruikmaakt van Microsoft Graph om een Excel-werk blad bij te werken.A webhook that uses Microsoft Graph to update an Excel sheet. HTTPHTTP GeenNone Microsoft GraphMicrosoft Graph

*Vertegenwoordigt verschillende wacht rijen* Represents different queues

Deze voor beelden zijn niet volledig, maar zijn bedoeld om te laten zien hoe u triggers en bindingen samen kunt gebruiken.These examples are not meant to be exhaustive, but are provided to illustrate how you can use triggers and bindings together.

Definities van triggers en bindingenTrigger and binding definitions

Triggers en bindingen worden op verschillende manieren gedefinieerd, afhankelijk van de ontwikkelings benadering.Triggers and bindings are defined differently depending on the development approach.

PlatformPlatform Triggers en bindingen worden geconfigureerd door...Triggers and bindings are configured by...
C#klassen bibliotheekC# class library      methoden en para meters met C# kenmerken verf raaien     decorating methods and parameters with C# attributes
Alle andere (inclusief Azure Portal)All others (including Azure portal)      Function. json (schema) bijwerken     updating function.json (schema)

De portal biedt een gebruikers interface voor deze configuratie, maar u kunt het bestand rechtstreeks bewerken door de Geavanceerde editor te openen die beschikbaar is via het tabblad integreren van uw functie.The portal provides a UI for this configuration, but you can edit the file directly by opening the Advanced editor available via the Integrate tab of your function.

In .NET definieert het parameter type het gegevens type voor invoer gegevens.In .NET, the parameter type defines the data type for input data. Gebruik string bijvoorbeeld om een binding te maken met de tekst van een wachtrij trigger, een byte matrix die als binair moet worden gelezen en een aangepast type om te deserialiseren naar een object.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.

Voor talen die dynamisch worden getypt, zoals Java script, dataType gebruikt u de eigenschap in het bestand Function. json .For languages that are dynamically typed such as JavaScript, use the dataType property in the function.json file. Als u bijvoorbeeld de inhoud van een HTTP-aanvraag in binaire indeling wilt lezen, dataType stelt binaryu het volgende in: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"
}

Andere opties voor dataType zijn stream en string.Other options for dataType are stream and string.

Bindings richtingBinding direction

Alle triggers en bindingen hebben een direction eigenschap in het bestand Function. json :All triggers and bindings have a direction property in the function.json file:

  • Voor triggers is de richting altijdinFor triggers, the direction is always in
  • Invoer-en uitvoer bindingen in gebruiken enoutInput and output bindings use in and out
  • Sommige bindingen bieden ondersteuning voor een inoutspeciale richting.Some bindings support a special direction inout. Als u gebruikt inout, is alleen de Geavanceerde editor beschikbaar via het tabblad integreren in de portal.If you use inout, only the Advanced editor is available via the Integrate tab in the portal.

Wanneer u kenmerken in een klassen bibliotheek gebruikt om triggers en bindingen te configureren, wordt de richting in een kenmerk-constructor of afgeleid van het parameter type gegeven.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.

Ondersteunde bindingenSupported bindings

In deze tabel ziet u de bindingen die worden ondersteund in de twee belangrijkste versies van de Azure Functions runtime:This table shows the bindings that are supported in the two major versions of the Azure Functions runtime:

typeType 1.x1.x 2.x12.x1 TriggerTrigger InvoerInput OutputOutput
Blob StorageBlob storage
Cosmos DBCosmos DB
Event GridEvent Grid
Event HubsEvent Hubs
HTTP-& webhooksHTTP & webhooks
Microsoft Graph
Excel-tabellen
Microsoft Graph
Excel tables
Microsoft Graph
OneDrive-bestanden
Microsoft Graph
OneDrive files
Outlook
-e-mail Microsoft Graph
Microsoft Graph
Outlook email
Microsoft Graph
gebeurtenissen
Microsoft Graph
events
Microsoft Graph
auth-tokens
Microsoft Graph
Auth tokens
Mobile AppsMobile Apps
Notification HubsNotification Hubs
Queue StorageQueue storage
SendGridSendGrid
Service BusService Bus
SignalRSignalR
Table StorageTable storage
TimerTimer
TwilioTwilio

1 in 2. x moeten alle bindingen behalve http en timer worden geregistreerd.1 In 2.x, all bindings except HTTP and Timer must be registered. Zie bindings uitbreidingen registreren.See Register binding extensions.

Zie ondersteunde talenvoor informatie over welke bindingen in Preview zijn of die zijn goedgekeurd voor productie gebruik.For information about which bindings are in preview or are approved for production use, see Supported languages.

ResourcesResources

Volgende stappenNext steps