Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Functions peut être déclenché sur une liaison d’entrée Dapr à l’aide des événements Dapr suivants.
Pour plus d’informations sur l’installation et la configuration de l’extension Dapr, consultez la vue d’ensemble de l’extension Dapr.
Example
Une fonction C# peut être créée à l’aide de l’un des modes C# suivants :
| Execution model | Description |
|---|---|
| Modèle de travailleur isolé | Le code de votre fonction s’exécute dans un processus Worker .NET distinct. Utilisez avec les versions prises en charge de .NET et .NET Framework. Pour plus d’informations, consultez Guide d’exécution de C# Azure Functions dans le modèle worker isolé. |
| In-process model | Le code de votre fonction s’exécute dans le même processus que le processus hôte Functions. Prend uniquement en charge les versions LTS (Long Term Support) de .NET. Pour en découvrir plus, consultez Développer des fonctions de bibliothèque de classes C# à l’aide d’Azure Functions. |
[FunctionName("ConsumeMessageFromKafka")]
public static void Run(
// Note: the value of BindingName must match the binding name in components/kafka-bindings.yaml
[DaprBindingTrigger(BindingName = "%KafkaBindingName%")] JObject triggerData,
ILogger log)
{
log.LogInformation("Hello from Kafka!");
log.LogInformation($"Trigger data: {triggerData}");
}
Voici le code Java du déclencheur de liaison d’entrée Dapr :
@FunctionName("ConsumeMessageFromKafka")
public String run(
@DaprBindingTrigger(
bindingName = "%KafkaBindingName%")
)
Utilisez l’objet app pour inscrire les daprBindingTriggerpoints suivants :
const { app, trigger } = require('@azure/functions');
app.generic('ConsumeMessageFromKafka', {
trigger: trigger.generic({
type: 'daprBindingTrigger',
bindingName: "%KafkaBindingName%",
name: "triggerData"
}),
handler: async (request, context) => {
context.log("Node function processed a ConsumeMessageFromKafka request from the Dapr Runtime.");
context.log(context.triggerMetadata.triggerData)
}
});
The following example shows Dapr triggers in a function.json file and PowerShell code that uses those bindings.
Here's the function.json file for daprBindingTrigger:
{
"bindings": [
{
"type": "daprBindingTrigger",
"bindingName": "%KafkaBindingName%",
"name": "triggerData",
"direction": "in"
}
]
}
For more information about function.json file properties, see the Configuration section.
In code:
using namespace System
using namespace Microsoft.Azure.WebJobs
using namespace Microsoft.Extensions.Logging
using namespace Microsoft.Azure.WebJobs.Extensions.Dapr
using namespace Newtonsoft.Json.Linq
param (
$triggerData
)
Write-Host "PowerShell function processed a ConsumeMessageFromKafka request from the Dapr Runtime."
$jsonString = $triggerData | ConvertTo-Json
Write-Host "Trigger data: $jsonString"
L’exemple suivant montre un déclencheur de liaison d’entrée Dapr, qui utilise le modèle de programmation Python v2. Pour utiliser le daprBinding code de votre application de fonction Python :
import logging
import json
import azure.functions as func
app = func.FunctionApp()
@app.function_name(name="ConsumeMessageFromKafka")
@app.dapr_binding_trigger(arg_name="triggerData", binding_name="%KafkaBindingName%")
def main(triggerData: str) -> None:
logging.info('Python function processed a ConsumeMessageFromKafka request from the Dapr Runtime.')
logging.info('Trigger data: ' + triggerData)
Attributes
In the in-process model, use the DaprBindingTrigger to trigger a Dapr input binding, which supports the following properties.
| Parameter | Description |
|---|---|
| BindingName | Nom du déclencheur Dapr. S’il n’est pas spécifié, le nom de la fonction est utilisé comme nom de déclencheur. |
Annotations
L’annotation DaprBindingTrigger vous permet de créer une fonction qui est déclenchée par le composant de liaison que vous avez créé.
| Element | Description |
|---|---|
| bindingName | Nom de la liaison Dapr. |
Configuration
Le tableau suivant décrit les propriétés de configuration de liaison que vous définissez dans le code.
| Property | Description |
|---|---|
| bindingName | Le nom de la liaison. |
Le tableau suivant décrit les propriétés de configuration de liaison que vous définissez dans le fichier function.json.
| function.json property | Description |
|---|---|
| bindingName | Le nom de la liaison. |
See the Example section for complete examples.
Usage
Pour utiliser le déclencheur de liaison d’entrée Dapr, commencez par configurer un composant de liaison d’entrée Dapr. Vous pouvez en savoir plus sur le composant à utiliser et sur la façon de le configurer dans la documentation officielle Dapr.
- Spécifications des composants de liaison d’entrée Dapr
- Guide pratique pour déclencher votre application avec des liaisons d’entrée
Pour utiliser daprBindingTrigger dans Python v2, configurez votre projet avec les dépendances appropriées.
Dans votre fichier
requirements.text, ajoutez la ligne suivante :azure-functions==1.18.0b3Dans le terminal, installez la bibliothèque Python.
pip install -r .\requirements.txtModifiez votre fichier
local.setting.jsonavec la configuration suivante :"PYTHON_ISOLATE_WORKER_DEPENDENCIES":1