Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Funzioni di Azure può essere attivato in un'associazione di input dapr usando gli eventi Dapr seguenti.
Per informazioni sull'installazione e sulla configurazione dell'estensione Dapr, vedere panoramica dell'estensione Dapr.
Example
È possibile creare una funzione C# usando una delle modalità C# seguenti:
| Execution model | Description |
|---|---|
| Modello di lavoro isolato | Il codice della funzione viene eseguito in un processo di lavoro .NET separato. Usare con le versioni supportate di .NET e .NET Framework. Per altre informazioni, vedere Guida per l'esecuzione di Funzioni di Azure C# nel modello di lavoro isolato. |
| In-process model | Il codice della funzione viene eseguito nello stesso processo del processo host di Funzioni. Supporta solo versioni LTS (Long Term Support) di .NET. Per altre informazioni, vedere Sviluppare funzioni della libreria di classi C# usando Funzioni di Azure. |
[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}");
}
Ecco il codice Java per il trigger di associazione di input dapr:
@FunctionName("ConsumeMessageFromKafka")
public String run(
@DaprBindingTrigger(
bindingName = "%KafkaBindingName%")
)
Usare l'oggetto app per registrare :daprBindingTrigger
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'esempio seguente illustra un trigger di associazione di input dapr, che usa il modello di programmazione Python v2. Per usare nel codice dell'app per le daprBinding funzioni 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 | Nome del trigger Dapr. Se non specificato, il nome della funzione viene usato come nome del trigger. |
Annotations
L'annotazione DaprBindingTrigger consente di creare una funzione che viene attivata dal componente di associazione creato.
| Element | Description |
|---|---|
| bindingName | Nome dell'associazione Dapr. |
Configuration
Nella tabella seguente vengono illustrate le proprietà di configurazione dell'associazione impostate nel codice.
| Property | Description |
|---|---|
| bindingName | Nome dell'associazione. |
Nella tabella seguente sono illustrate le proprietà di configurazione dell'associazione impostate nel file function.json.
| function.json property | Description |
|---|---|
| bindingName | Nome dell'associazione. |
See the Example section for complete examples.
Usage
Per usare il trigger di associazione di input dapr, iniziare configurando un componente di associazione di input Dapr. Per altre informazioni sul componente da usare e su come configurarlo, vedere la documentazione ufficiale di Dapr.
- Specifiche dei componenti di associazione di input dapr
- Procedura: Attivare l'applicazione con associazioni di input
Per usare daprBindingTrigger in Python v2, configurare il progetto con le dipendenze corrette.
Nel file
requirements.textaggiungere la riga seguente:azure-functions==1.18.0b3Nel terminale installare la libreria Python.
pip install -r .\requirements.txtModificare il file
local.setting.jsoncon la configurazione seguente:"PYTHON_ISOLATE_WORKER_DEPENDENCIES":1