Azure IoT Hub-bindingen voor Azure FunctionsAzure IoT Hub bindings for Azure Functions

In deze reeks artikelen wordt uitgelegd hoe u Azure Functions bindingen voor IoT Hub kunt gebruiken.This set of articles explains how to work with Azure Functions bindings for IoT Hub. De IoT Hub ondersteuning is gebaseerd op de Azure Event hubs-binding.The IoT Hub support is based on the Azure Event Hubs Binding.

Belangrijk

Hoewel de volgende code voorbeelden de Event hub API gebruiken, is de opgegeven syntaxis van toepassing op IoT Hub-functies.While the following code samples use the Event Hub API, the given syntax is applicable for IoT Hub functions.

BewerkingAction TypeType
Reageren op gebeurtenissen die worden verzonden naar een IoT hub-gebeurtenis stroom.Respond to events sent to an IoT hub event stream. TriggerTrigger
Gebeurtenissen schrijven naar een IoT-gebeurtenis stroomWrite events to an IoT event stream Uitvoer bindingOutput binding

Toevoegen aan uw functions-appAdd to your Functions app

Functions 2.x en hogerFunctions 2.x and higher

Voor het werken met de trigger en bindingen moet u verwijzen naar het juiste pakket.Working with the trigger and bindings requires that you reference the appropriate package. Het NuGet-pakket wordt gebruikt voor .NET-klassen bibliotheken terwijl de uitbreidings bundel wordt gebruikt voor alle andere toepassings typen.The NuGet package is used for .NET class libraries while the extension bundle is used for all other application types.

TaalLanguage Toevoegen door...Add by... OpmerkingenRemarks
C#C# Het NuGet-pakketinstalleren, versie 3. xInstalling the NuGet package, version 3.x
C#-script, Java, java script, Python, Power shellC# Script, Java, JavaScript, Python, PowerShell De uitbreidings bundel registrerenRegistering the extension bundle De [extensie voor Azure-Hulpprogram ma's] wordt aanbevolen voor gebruik met Visual Studio code.The Azure Tools extension is recommended to use with Visual Studio Code.
C#-script (alleen online in Azure Portal)C# Script (online-only in Azure portal) Een binding toevoegenAdding a binding Zie uw extensies bijwerkenom bestaande bindings extensies bij te werken zonder uw functie-app opnieuw te publiceren.To update existing binding extensions without having to republish your function app, see Update your extensions.

Event Hubs extensie 5. x en hogerEvent Hubs extension 5.x and higher

Een nieuwe versie van de uitbrei ding voor de Event Hubs-bindingen is beschikbaar als een Preview-NuGet-pakket.A new version of the Event Hubs bindings extension is available as a preview NuGet package. Deze preview introduceert de mogelijkheid om verbinding te maken met een identiteit in plaats van een geheim.This preview introduces the ability to connect using an identity instead of a secret. Voor .NET-toepassingen worden ook de typen gewijzigd waarmee u een binding kunt maken, waarbij de typen worden vervangen door Microsoft.Azure.EventHubs nieuwere typen van Azure. Messa ging. Event hubs.For .NET applications, it also changes the types that you can bind to, replacing the types from Microsoft.Azure.EventHubs with newer types from Azure.Messaging.EventHubs.

Notitie

Het preview-pakket is niet opgenomen in een uitbreidings bundel en moet hand matig worden geïnstalleerd.The preview package is not included in an extension bundle and must be installed manually. Voor .NET-Apps voegt u een verwijzing naar het pakket toe.For .NET apps, add a reference to the package. Voor alle andere typen apps raadpleegt [u uw extensies bijwerken].For all other app types, see Update your extensions.

Functions 1.xFunctions 1.x

Functions 1. x apps hebben automatisch een verwijzing naar het pakket micro soft. Azure. webjobs , versie 2. x.Functions 1.x apps automatically have a reference the Microsoft.Azure.WebJobs NuGet package, version 2.x.

host.jsop instellingenhost.json settings

Het host.json-bestand bevat instellingen die het gedrag van Event Hubs-triggers regelen.The host.json file contains settings that control Event Hubs trigger behavior. De configuratie verschilt afhankelijk van de versie van Azure Functions.The configuration is different depending on the Azure Functions version.

Functions 2.x en hogerFunctions 2.x and higher

{
    "version": "2.0",
    "extensions": {
        "eventHubs": {
            "batchCheckpointFrequency": 5,
            "eventProcessorOptions": {
                "maxBatchSize": 256,
                "prefetchCount": 512
            },
            "initialOffsetOptions": {
                "type": "fromStart",
                "enqueuedTimeUtc": ""
            }
        }
    }
}  
EigenschapProperty StandaardDefault BeschrijvingDescription
batchCheckpointFrequencybatchCheckpointFrequency 11 Het aantal gebeurtenisbatches dat moet worden verwerkt voordat een controlepunt voor een EventHub-cursor wordt gemaakt.The number of event batches to process before creating an EventHub cursor checkpoint.
eventProcessorOptions/maxBatchSizeeventProcessorOptions/maxBatchSize 1010 Het maximale gebeurtenisaantal dat per ontvangstlus wordt ontvangen.The maximum event count received per receive loop.
eventProcessorOptions/prefetchCounteventProcessorOptions/prefetchCount 300300 Het standaardaantal voor vooraf ophalen dat wordt gebruikt door de onderliggende EventProcessorHost.The default pre-fetch count used by the underlying EventProcessorHost. De minimaal toegestane waarde is 10.The minimum allowed value is 10.
initialOffsetOptions/type1initialOffsetOptions/type1 fromStartfromStart De locatie in de gegevensstroom van de gebeurtenis waar de verwerking moet worden gestart als een controlepunt niet aanwezig is in de opslag.The location in the event stream from which to start processing when a checkpoint doesn't exist in storage. De beschikbare opties zijn fromStart , fromEnd en fromEnqueuedTime.Options are fromStart , fromEnd or fromEnqueuedTime. fromEnd verwerkt nieuwe gebeurtenissen die in de wachtrij zijn geplaatst nadat de functie-app werd uitgevoerd.fromEnd processes new events that were enqueued after the function app started running. Dit is van toepassing op alle partities.Applies to all partitions. Raadpleeg de documentatie over EventProcessorOptions voor meer informatie.For more information, see the EventProcessorOptions documentation.
initialOffsetOptions/enqueuedTimeUtc1initialOffsetOptions/enqueuedTimeUtc1 N.v.t.N/A Hiermee wordt de wachtrijtijd aangegeven van de gebeurtenis in de gegevensstroom waar de verwerking moet beginnen.Specifies the enqueued time of the event in the stream from which to start processing. Wanneer initialOffsetOptions/type is geconfigureerd als fromEnqueuedTime, is deze instelling verplicht.When initialOffsetOptions/type is configured as fromEnqueuedTime, this setting is mandatory. Ondersteunt tijd in alle indelingen die worden ondersteund door DateTime.Parse(), zoals 2020-10-26T20:31Z.Supports time in any format supported by DateTime.Parse(), such as 2020-10-26T20:31Z. U kunt het best ook een tijdzone opgeven.For clarity, you should also specify a timezone. Als er geen tijdzone is opgegeven, gebruikt Functions de lokale tijdzone van de computer waarop de functie-app wordt uitgevoerd. Als u Azure gebruikt, is dat UTC.When timezone isn't specified, Functions assumes the local timezone of the machine running the function app, which is UTC when running on Azure. Raadpleeg de documentatie over EventProcessorOptions voor meer informatie.For more information, see the EventProcessorOptions documentation.

1 ondersteuning voor intitialOffsetOptions begint met Event hubs v 4.2.0.1 Support for intitialOffsetOptions begins with EventHubs v4.2.0.

Notitie

Zie Naslaginformatie over host.json voor Azure Functions voor naslaginformatie over host.json in Azure Functions 2.x en hoger.For a reference of host.json in Azure Functions 2.x and beyond, see host.json reference for Azure Functions.

Functions 1.xFunctions 1.x

{
    "eventHub": {
      "maxBatchSize": 64,
      "prefetchCount": 256,
      "batchCheckpointFrequency": 1
    }
}
EigenschapProperty StandaardDefault BeschrijvingDescription
maxBatchSizemaxBatchSize 6464 Het maximale gebeurtenisaantal dat per ontvangstlus wordt ontvangen.The maximum event count received per receive loop.
prefetchCountprefetchCount n.v.t.n/a Het standaardaantal voor vooraf ophalen dat wordt gebruikt door de onderliggende EventProcessorHost.The default pre-fetch that will be used by the underlying EventProcessorHost.
batchCheckpointFrequencybatchCheckpointFrequency 11 Het aantal gebeurtenisbatches dat moet worden verwerkt voordat een controlepunt voor een EventHub-cursor wordt gemaakt.The number of event batches to process before creating an EventHub cursor checkpoint.

Notitie

Zie Naslaginformatie over host.json voor Azure Functions 1.x voor naslaginformatie over host.json voor Azure Functions 1.x.For a reference of host.json in Azure Functions 1.x, see host.json reference for Azure Functions 1.x.

Volgende stappenNext steps